十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
你要搞清楚 DATE_FORMAT 函數(shù)的用法,該函數(shù)是格式時間的一個函數(shù),按照一個格式輸入時間。

目前成都創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、臨城網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
原型為DATE_FORMAT(日期,格式)
其中格式為:%Y 表示年份,%m月份, %d 天數(shù),其他部分會原樣輸出
'%Y-%m',會按照 年-月輸出: 2013-10,其中 -線原樣輸出
'2012-%m-%d',會按照 年-月-日輸出: 2012-10-18,其中2012 和 - 部分原樣輸出。
你的語句可以改成
select DATE_FORMAT(來電時間,'%Y-%m') as yue, 問題類別 , count(1) as num from mytable where 問題類別='農(nóng)村合作醫(yī)療' and 來電時間 = '2012-1-1' and 來電時間 '2013-1-1' group by DATE_FORMAT(來電時間,'%Y-%m') ,問題類別 ORDER BY 問題類別, yue;
mysql 日期時間查詢
MySQL數(shù)據(jù)庫中year()函數(shù)是求某個特定日期中的年份,代碼如下:
select '2015-08-11' as date,year('2015-08-11') as year;
確定一個日期是一年中的第幾個季度,可以用QUARTER()函數(shù)實現(xiàn),代碼如下:
SELECT '2015-08-11' AS DATE,QUARTER('2015-08-11') AS QUARTER;
返回一個日期是一年中的月份,利用month()函數(shù)實現(xiàn),代碼如下:
SELECT '2015-08-11' AS DATE,MONTH('2015-08-11') AS MONTH;
獲取一個確定日期是一個月份中的多少號,可以用day()函數(shù)求得,具體實現(xiàn)代碼如下:
SELECT '2015-08-11' AS DATE,DAY('2015-08-11') AS DAY;
有時日期中帶有時間,而如何獲取小時數(shù),這可以利用自帶的函數(shù)hour()實現(xiàn),代碼如下:
SELECT '2015-08-11 12:20:45' AS DATE,HOUR('2015-08-11 12:20:45') AS HOUR;
下面以比較流行的mysql圖形化管理工具Navicat為例,其他工具或者在命令行中以及編程語言中操作時的執(zhí)行的sql語句是一樣的。
1、假設(shè)在數(shù)據(jù)庫中有一個名為testtest的表格,表格內(nèi)容如下圖所示,表中有三條記錄是9月份的
2、打開一個查詢窗口,輸入查詢語句select * from?testtest?where month(date)='9';,該語句表示查詢testtest表格中9月份的記錄
3、點擊“運行”執(zhí)行該sql語句,在下方可以看到已經(jīng)查詢到了9月份的三條記錄
4、如需按年查詢可輸入select * from?testtest where year(date)='2017';,2017代表需要查詢的年份。如下圖所示只查詢到了一條記錄是2017年的
1、查詢確定年月的數(shù)據(jù),使用to_date或to_char都可以實現(xiàn) SELECT * FROM 表名 WHERE TO_CHAR(日期列,'YYYY-MM') = TO_CHAR('2013-06','YYYY-MM') 或者 SELECT * FROM 表名 WHERE 日期列 = TO_Date('2013-06','YYYY-MM')
您好,一、年度查詢
查詢 本年度的數(shù)據(jù)
SELECT *
FROM blog_article
WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))
二、查詢季度數(shù)據(jù)
查詢數(shù)據(jù)附帶季度數(shù)
SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) )
FROM `blog_article`
其他的同前面部分:查詢 本季度的數(shù)據(jù)
SELECT *
FROM blog_article
WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))
三、查詢月度數(shù)據(jù)
本月統(tǒng)計(MySQL)
select * from booking where month(booking_time) =
month(curdate()) and year(booking_time) = year(curdate())
本周統(tǒng)計(MySQL)
select * from spf_booking where month(booking_time) =
month(curdate()) and week(booking_time) = week(curdate())
四、時間段
N天內(nèi)記錄
WHERE TO_DAYS(NOW()) - TO_DAYS(時間字段) = N
當(dāng)天的記錄
where date(時間字段)=date(now())
或
where to_days(時間字段) = to_days(now());
查詢一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) = date(column_time);
查詢一個月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) = date(column_time);
查詢'06-03'到'07-08'這個時間段內(nèi)所有過生日的會員:
Select * From user Where
DATE_FORMAT(birthday,'%m-%d') = '06-03' and DATE_FORMAT(birthday,'%m-%d')
= '07-08';
統(tǒng)計一季度數(shù)據(jù),表時間字段為:savetime
group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))
或
select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1,count(*)
from yourTable
group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;
五、分組查詢
1、年度分組
2、月度分組
3、先按年度分組,再按月度分組
4、按年月分組
SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate FROM `blog_article` group by sdate
結(jié)果:
count( ArticleId ) sdate
17 0901
11 0902
5 0903
6 0904
2 0905
1 0907
12 0908
6 0909
11 0910
3 0911