在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 統計當...