Mysql 查询各分组下个月分数据数量

该SQL语句创建了一个CTE来分组数据并计算每个月的计数,然后使用JSON_OBJECTAGG聚合函数生成键值对。由于大数据量可能导致内存问题,文章建议考虑使用分页查询来优化性能。

只在意能用,不考虑性能

WITH cte AS (
    SELECT group_column, DATE_FORMAT(date_column, '%Y-%m') as month, COUNT(*) as count
    FROM table_name
    GROUP BY group_column, month
)
SELECT group_column, JSON_OBJECTAGG(month, count) as month_counts
FROM cte
GROUP BY group_column
ORDER BY group_column;

  • List item
  • group_column 是分组字段名
  • date_column 是日期字段名
  • table_name 是表名
  • WITH cte 语句 用于查询分组后的结果, 方便之后的查询操作
  • GROUP BY 按照 group_column 分组
  • 最后 ORDER BY 按照 group_column 排序

有很多数据, 这样的查询可能会导致内存问题, 这种情况下可以考虑使用分页查询

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值