只月份和年份
问题描述:
组日期假设我有类似下面的表格:只月份和年份
id | assignment | duedate
1 | Math | 2012-01-01
2 | History | 2012-02-02
3 | Science | 2012-01-01
4 | Government | 2012-02-01
5 | Government | 2013-01-13
6 | History | 2013-03-13
是否有可能使一些SQL查询,使得我得到月份和年份的所有日期的分组?有一些可能性,我能得到的排序结果:
duedatemonth | count
January 2012 | 2
Feburary 2012 | 2
January 2013 | 1
March 2013 | 1
我知道你可以GROUP BY交货期,但只有团的那些同月,日和年而不是只月份和年份。
难道是然后可能甚至它使得它因素“分配”,以获得所得
id | duedatemonth | count
1 | January 2012 | 2
3 | January 2012 | 2
2 | Feburary 2012 | 2
4 | Feburary 2012 | 2
5 | January 2013 | 1
6 | March 2013 | 1
答
试试这个
SELECT DATE_FORMAT(duedate,'%M %Y') duedatemonth, COUNT(*) count
FROM Table1
GROUP BY year(duedate), MONTH(duedate)
将输出这样的:
DUEDATEMONTH COUNT
January 2012 2
February 2012 2
January 2013 1
March 2013 1
答
使用的表中的字符串函数YEAR
和MONTH
进一步组。
SELECT YEAR(duedate), MONTH(duedate), COUNT(*)
FROM sparkles
GROUP BY YEAR(duedate), MONTH(duedate)
使用MONTHNAME
或DATE_FORMAT
获得该月的名称。
答
您可以使用此查询。
SELECT DATE_FORMAT(duedate, '%M %Y') duedatemonth, COUNT(1) `count`
FROM Tbl
GROUP BY DATE_FORMAT(duedate, '%M %Y')