簡體   English   中英

僅按月份和年份分組日期

[英]Group dates by only month and year

假設我有一個如下表:

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

使用字符串函數YEARMONTH

SELECT YEAR(duedate), MONTH(duedate), COUNT(*)
FROM sparkles
GROUP BY YEAR(duedate), MONTH(duedate)

使用MONTHNAMEDATE_FORMAT來獲取月份的名稱。

您可以使用此查詢。

SELECT DATE_FORMAT(duedate, '%M %Y') duedatemonth, COUNT(1) `count`
FROM Tbl
GROUP BY DATE_FORMAT(duedate, '%M %Y')

嘗試這個

    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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM