我在计算时间范围内的多个字段时遇到问题。 我有下表:
# date, count, fb_user_count, email_user_count, reg_dt
'2015-10-27', '11', '6', '5', '2015-11-02 13:59:14'
'2015-10-26', '3', '1', '2', '2015-11-02 13:59:10'
我想获得每周的注册数量,如下所示:
# date, count, fb_user_count, email_user_count, reg_dt
'2015-11-02', '31', '16', '15', '2015-11-02 13:59:14'
'2015-11-09', '12', '6', '6', '2015-11-09 13:59:14'
和每月:
# date, count, fb_user_count, email_user_count, reg_dt
'2015-11', '131', 'x', 'y', '2015-11-02 13:59:14' (the last value is not so important)
'2015-12', '112', 'x', 'y', '2015-12-09 13:59:14'
我尝试了不同的方法,但我很难完成这项任务。任何帮助都会很棒。谢谢!
最佳答案
您可以使用 MySQL Date and Time functions WEEK()
、MONTH()
和 YEAR()
来构建您的查询:
SELECT
MIN(date),
SUM(count),
SUM(fb_user_count),
SUM(email_user_count)
FROM visit
GROUP BY WEEK(date, 1); -- First day is Monday
SELECT
CONCAT(YEAR(date), '-', MONTH(date)),
SUM(count),
SUM(fb_user_count),
SUM(email_user_count)
FROM visit
GROUP BY YEAR(date), MONTH(date);
关于mysql - 选择计算时间范围内的多个字段 - MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37621624/