[精讚] [會員登入]

[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
你可能有興趣

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

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

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

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

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

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

地圖填色的網站

我們想為國家填色不需要小畫家,這個網站能幫助你

[Linux] 列出所有目錄及所占空間的方法

想知道目錄下的所有目錄所占的空間大小?

[Linux] grep 排除特定字串

使用 -v 參數可以讓grep排除特定字串的方法