所以我有一个查询,它将计算过去3天内每个日期的记录数量,从我上一个问题开始,在其他人的帮助下,我能够得出以下内容:
SELECT COUNT(*) AS dailyCount
FROM highscores
WHERE DATE(date) BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY DATE(date)
该查询执行以下操作,在过去30天内,它将获取每个日期的记录数,并将以dailyCount
的形式返回。
但是我现在要做的就是让dailyCount
只计算之前未计算username
的字段。
我尝试过以下操作(将username
添加到GROUP BYs):
SELECT COUNT(*) AS dailyCount
FROM highscores
WHERE DATE(date) BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY DATE(date), username
然而,这并没有给出预期的结果。
答案 0 :(得分:2)
以下工作:
SELECT COUNT(DISTINCT username) AS dailyCount
FROM highscores
WHERE DATE(date) BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY DATE(date)