類型(unit值) | 含義 | expr表達(dá)式的形式 |
---|---|---|
YEAR | 年 | YY |
MONTH | 月 | MM |
DAY | 日 | DD |
HOUR | 時(shí) | hh |
MINUTE | 分 | mm |
SECOND | 秒 | ss |
YEAR_MONTH | 年和月 | YY和MM之間用任意符號隔開 |
DAY_HOUR | 日和小時(shí) | DD和hh之間用任意符號隔開 |
DAY_MINUTE | 日和分鐘 | DD和mm之間用任意符號隔開 |
DAY_SECOND | 日和秒鐘 | DD和ss之間用任意符號隔開 |
HOUR_MINUTE | 時(shí)和分 | hh和mm之間用任意符號隔開 |
HOUR_SECOND | 時(shí)和秒 | hh和ss之間用任意符號隔開 |
MINUTE_SECOND | 分和秒 | mm和ss之間用任意符號隔開 |
-- 舉例
-- 七天內(nèi)的數(shù)據(jù)查詢
select * from table where created_at > DATE_SUB(CURDATE(),INTERVAL 7 DAY)
6. 多少天內(nèi)數(shù)據(jù)統(tǒng)計(jì)
我們經(jīng)常還會遇到這種需求,統(tǒng)計(jì)7天內(nèi)每天數(shù)據(jù)的量。這種情況下,我們需要考慮沒有數(shù)據(jù)推送的情況,即為0也要得到。
我的思路如下:
SELECT DATE_SUB( CURDATE(), INTERVAL m.s day ) AS orderDate FROM ( SELECT 0 as s UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 ) m
以上面的sql查詢結(jié)果作為臨時(shí)表,匹配數(shù)據(jù)表統(tǒng)計(jì)多少天內(nèi)的數(shù)據(jù)數(shù)量
-- 舉例:查詢12個(gè)月內(nèi)每個(gè)月數(shù)據(jù)的數(shù)量 SELECT COUNT(t.created_at),res.date FROM (SELECT DATE_FORMAT(DATE_SUB( CURDATE(), INTERVAL m.s MONTH ),'%Y-%m') AS date FROM ( SELECT 0 as s UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 ) m)res left join table t on res.date = DATE_FORMAT(t.created_at,'%Y-%m') GROUP BY date
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
標(biāo)簽:公主嶺 阿里 惠州 呼和浩特 天津 牡丹江 沈陽 合肥
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL如何使用時(shí)間作為判斷條件》,本文關(guān)鍵詞 MySQL,如何,使用,時(shí)間,作為,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。