如何按月分组列数?

时间:2018-04-16 13:32:29

标签: mysql mysql-workbench

我试图获取按月分组的列的总数(计数)。

例如。

c1   - c2 - c3
Dev  - A  - 2018-05-15
Dev  - B  - 2017-06-23
Dev  - C  - 2018-12-11
Fro  - D  - 2018-12-11
Dev  - E  - 2018-12-16

这意味着Dev在2018年12月有两笔交易......我想写一个MySQL查询,这会产生类似

的内容
Dev - June-2017 - 1
Dev - May-2018 - 1
Dev - Dec-2018 - 2
Fro - Dec-2018 - 1

我希望它显示每个月Dev(和其他人)的计数。

这是我提出的但它永远不会执行(工作台简单地说"查询中断")。

SELECT c1, DATE_FORMAT(c2, "%M-%Y") AS c2, COUNT(c1) 
  FROM table 
  WHERE condition    
GROUP BY c2;

1 个答案:

答案 0 :(得分:2)

要获得正确的结果,您需要在GROUP BY中添加列c1

SELECT 
   c1
 , DATE_FORMAT(c2, "%M-%Y") AS c2
 , COUNT(c1) AS count
FROM 
 [table]
WHERE 
 [condition]
GROUP BY
   c1
 , DATE_FORMAT(c2, "%M-%Y")
ORDER BY 
 c1 ASC