mysql時間統計,查詢月份,周資料

2022-08-12 23:54:18 字數 1585 閱讀 7869

在mysql資料庫中,常常會遇到統計當天的內容。

例如,在user表中,日期欄位為:log_time

sql語句為:

select * from

user

where

date(log_time) = curdate();    

curdate()表示當天日期

如果表示前一天的資料,則不能使用curdate()-1,因為當日期為月初時,curdate()-1 日期就不是上乙個月的月末日期。

例如:今天是6月1日,理論上curdate()-1為5月31日,但是curdate()-1得到不是5月31日,而是6月0日。那麼統計前一天的日期就不能使用curdate()-1了,mysql資料庫又有乙個新方法統計前一天的資料。

統計前一天的日誌sql語句:

select * from bean where

date(log_time) = date_sub(curdate(),interval 1 day);  

括號中為當天時間的前一天,如果統計前幾天就將括號中的』1』改成相應的天數。如果要算月或年,直接將day改為month或year即可

要求: 統計從昨天開始統計前7天的日誌包括昨天

select * from

user

where

date(log_time) >= date_sub(curdate(),interval 7 day)    

anddate(log_time) <=  date_sub(curdate(),interval 1 day)  

在網上找的使用week統計一周資訊,只能統計到5天的資訊,不符合要求,所以改用這種方法。

統計歷史某一天的日誌,將date_sub(curdate(),interval 0 day)函式中的curdate()替換為某一天的日期

比如:要統計2012-05-25日期的資訊

date_sub('2012-05-25',interval 0 day)

今天是2023年5月20日。

date_sub('2012-05-25',interval 1 day) 表示 2012-05-24

date_sub('2012-05-25',interval 0 day) 表示 2012-05-25

date_sub('2012-05-25',interval -1 day) 表示 2012-05-26

date_sub('2012-05-31',interval -1 day) 表示 2012-06-01

date_sub(curdate(),interval 1 day) 表示 2013-05-19

date_sub(curdate(),interval -1 day) 表示 2013-05-21

date_sub(curdate(),interval 1 month) 表示 2013-04-20

date_sub(curdate(),interval -1 month) 表示 2013-06-20

date_sub(curdate(),interval 1 year) 表示 2012-05-20

date_sub(curdate(),interval -1 year) 表示 2014-05-20

MYsql 查詢 查詢當前月份的資料(時間 查詢)

mysql查詢的方式很多,下面為您介紹的mysql 查詢實現的是查詢本週 上週 本月 上個月份的資料,如果您對mysql查詢方面感興趣的話,不妨一看。查詢當前這週的資料 select name,submittime from enterprise where yearweek date format...

Mysql統計昨日今日本月本週資料

一 sql示例 1 統計本週資料 select count from system log where week from unixtime update time week now 2 統計本月資料 select count from system log where monthname from...

MYSQL 統計查詢

mysql 統計查詢 mysql查詢統計報表 獲取當前時間截 html view plaincopyprint?select unix timestamp now 獲取當天零時時間截 html view plaincopyprint?select unix timestamp curdate 統計當...