文章目录
在MySQL中统计某一事项在每月中的记录数
以下演示将在下表数据中进行:
其中:id为主键用于表的连接;value1为需要统计的主体,如用户等;date为记录日期。
先说结论
SELECT
tmp.value1 AS `value1`,
MONTH(SUBSTRING_INDEX(tmp.ct, ',', 1)) AS `month`,
LENGTH(tmp.ct) - LENGTH(
REPLACE
(tmp.ct, ',', '')
) + 1 AS `cnt`
FROM
(
SELECT
id,
value1,
GROUP_CONCAT(date_value) AS ct
FROM
test_year_record
GROUP BY
value1,
INTERV