mysql - 如何计算每个月的记录数?
问题描述
我想计算一年中每个月的记录数。
select count(t2.user) as total, concat(YEAR(t2.docdate), '-', MONTH(t2.docdate)) as date
from tbl1 t1
LEFT JOIN tbl2 t2 ON(...)
WHERE
AND t2.docdate BETWEEN '2018-10-01' AND '2019-03-25'
GROUP BY MONTH(t2.docdate)
total docdate
但我的结果不正确。
18 2018-12-12
93 2018-12-12
51 2018-11-18
12 2018-11-07
13 2018-11-03
解决方案
您需要按您在 select 语句中包含的相同字段进行分组:
select count(t2.user) as total, concat(YEAR(t2.docdate), '-', MONTH(t2.docdate)) as date
from tbl1 t1
LEFT JOIN tbl2 t2 ON(...)
WHERE
AND t2.docdate BETWEEN '2018-10-01' AND '2019-03-25'
GROUP BY concat(YEAR(t2.docdate), '-', MONTH(t2.docdate))
推荐阅读
- javascript - 通过 ajax 通过 post 方法将日期值发送到 php 进程
- iphone - DB-helvetica 字体在 iPhone 中不起作用 - Xamarin 形式
- javascript - Morris js 未在药丸选项卡中显示图表
- azure - 使用 Perl、HTTP、LWP 了解我的授权标头有什么问题
- jenkins - dynamicStage 和 dynamicAlwaysScript 关键字的目的是什么
- python - Quantlib Svensson 拟合问题
- nextflow - 使用 nextflow 拆分配对的 fasta 文件
- python - 我什么时候可以使用“conda install”,什么时候必须使用“pip install”
- excel - 如何根据条件对单元格进行颜色编码?
- spring-boot - 从 Spring Cloud Greenwich.SR1 更新到 SR2 后,h2-console 停止工作