sql 如下
SELECT DATE(create_time) AS date, v2_posts.clubId, v2_clubs.name AS club_name, COUNT(*) AS post_count
FROM v2_posts
JOIN v2_clubs ON v2_posts.clubId = v2_clubs.id
WHERE create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
GROUP BY date, v2_posts.clubId
ORDER BY date DESC;
解释:
1.使用DATE()函数提取create_time字段的日期部分,这样可以统计每天的帖子计数。
2.使用JOIN操作连接v2_posts和v2_clubs表,以获取每个帖子对应的圈子名称。
3.使用WHERE子句过滤出过去7天内的帖子,使用DATE_SUB()函数和CURDATE()函数计算出当前日期往前推7天的日期。
4.使用GROUP BY子句按日期和圈子ID分组统计帖子数量。
5.使用ORDER BY子句按日期由近及远排序。
6.输出结果包括日期、圈子ID、圈子名称、帖子计数,按日期由近及远排序。
网友评论