如何在R语言中使用dplyr实现数据按月分组并统计行数
按月度分组统计行数的实现方案
以下是不同主流数据库的适配写法,可直接输出你需要的MM= 统计值格式结果:
- MySQL 写法
SELECT CONCAT(DATE_FORMAT(orderdate, '%m'), '= ', COUNT(*)) AS monthly_stat FROM Example_Table GROUP BY DATE_FORMAT(orderdate, '%m') ORDER BY DATE_FORMAT(orderdate, '%m');
- PostgreSQL 写法
SELECT CONCAT(TO_CHAR(orderdate, 'MM'), '= ', COUNT(*)) AS monthly_stat FROM Example_Table GROUP BY TO_CHAR(orderdate, 'MM') ORDER BY TO_CHAR(orderdate, 'MM');
- SQL Server 写法
SELECT CONCAT(RIGHT('0' + CAST(MONTH(orderdate) AS VARCHAR(2)), 2), '= ', COUNT(*)) AS monthly_stat FROM Example_Table GROUP BY MONTH(orderdate) ORDER BY MONTH(orderdate);
如果你需要分开获取月份和对应数值做后续处理,可以用简化版本,以MySQL为例:
SELECT DATE_FORMAT(orderdate, '%m') AS month, COUNT(*) AS row_count FROM Example_Table GROUP BY month ORDER BY month;
注意如果你的数据包含多个年份,建议额外按年份分组,避免不同年份的同月份数据被合并统计。
内容的提问来源于stack exchange,提问作者Brennan
相关产品推荐
相关产品推荐

