只在意能用,不考虑性能
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 排序