[精讚] [會員登入]

[Mysql/MariaDB] 選取本月、上個月、一年內的資料

如果現在10月,要選取上一個月的資料,如何下sql:(cDT是我的時間欄位,類型為datetime) SELECT *

分享完整連結 //n.sfs.tw/m10029

分享連結 [Mysql/MariaDB] 選取本月、上個月、一年內的資料@精讚
(文章歡迎轉載,請尊重版權註明連結來源)
2016-10-11 01:21:03 By 張○○

要選取上一個月的資料,如何下sql:(cDT是我的時間欄位,類型為datetime)

選取上一個月的資料

SELECT * FROM `counter` WHERE YEAR(cDT) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
AND MONTH(cDT) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)

選取一年內資料

select * from `counter` where `cDT` >DATE(CURRENT_DATE - INTERVAL 1 YEAR)

 

要取出本月份的資料

要取出本月份的資料,可以使用extract 函數

select * from `counter` where EXTRACT(YEAR_MONTH FROM `cDT`)=EXTRACT(YEAR_MONTH FROM CURDATE())

Extract 函數可以取出或日期或時間的任一部分,還滿好用的[2]

EXTRACT(unit FROM date)

unit 可以是 MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, SECOND_MICROSECOND, MINUTE_MICROSECOND, MINUTE_SECOND, HOUR_MICROSECOND, HOUR_SECOND, HOUR_MINUTE, DAY_MICROSECOND, DAY_SECOND, DAY_MINUTE, DAY_HOUR, YEAR_MONTH

範例,取出今天日期:

SELECT extract(day from now())

備註

PHP

$prevmonth = date('Y-m', strtotime("last month"));  //2016-09

參考資料

[1] http://stackoverflow.com/questions/2090221/mysql-query-to-get-all-rows-from-previous-month

[2] http://www.w3schools.com/sql/func_extract.asp

END
你可能有興趣

check-host 從世界各地檢查你的網站能不能連線?

檢測你的網站能不能暢通?這個網站可讓你知道你的網站是不是「網際網路」還是「區域網路」?

[Smarty4] 出現 modifiers 函式不能用的問題

當我把smarty由3版更新到4.5.1版的時候,出現了Using unregistered function xx in a template這樣的錯誤,該如何解決?

[Docker] docker中要怎麼修改影像的名稱,rename image

透過 build來的image如果沒有指定名稱,事後要怎麼修改影像的名稱?

[Rocky9] 安裝node.js 18, node.js 20

原本的nodejs16在使用 quasar dev時出現錯誤,得升級成18版以上

[SSL] Could not read certificate from server.cer 的錯誤排除

在轉換ssl憑證時,出現無法讀取的錯誤,可是怎麼看憑證都很正常,該怎麼解決?

[Linux] 如何能知道我是什麼時候安裝系統的?

linux想知道什麼時候裝系統的?什麼時候建置的?不必憑記憶。