mysql - Count(*) 按月分组,如果月份计数为 0,则值为零

标签 mysql date group-by count

我正在尝试从每个月的日期开始计数。

SELECT    COUNT(*) AS cnt, DATE_FORMAT(onBoardDateTime,'%Y-%m-01') AS date
FROM      paDatabase 
WHERE     YEAR(onBoardDateTime) > '2015'  
GROUP BY  MONTH(onBoardDateTime)

我还想包括计数 = 0 的月份。所以结果应该是:

月 |碳纳米管
2015 年 1 月 | 10
2015年02月 | 31
2015 年 3 月 | 0
2015 年 4 月 | 5
等等..

谢谢

最佳答案

试试这个:

SELECT    coalesce(COUNT(*), 0) AS cnt, DATE_FORMAT(onBoardDateTime,'%Y-%m-01') AS date
FROM      paDatabase 
WHERE     YEAR(onBoardDateTime) > '2015'  
GROUP BY  MONTH(onBoardDateTime)

(未经测试)。

关于mysql - Count(*) 按月分组,如果月份计数为 0,则值为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57718100/

相关文章:

MySQL - 多次计数、最小值、最大值查询

c# - 在 C# asp.net 中按相同顺序对列表中的相似项目进行分组

mysql - 如何区分日期时间?

php - mysql图表上个月每小时的平均订单数

mysql - 更改事件并将结束设置为空

导致解析错误的Java日期解析时区

javascript - 如何检测按钮按下并保持 Angular 时间。

php - 如何在ubuntu中连接mysql数据库到laravel

python - 从python中的CSV文件中删除特定行

mysql - 在 mysql 中做一些计算,使用 GROUP BY 时数字关闭