0

所以我有一个查询,它将计算过去 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 BY):

SELECT COUNT(*) AS dailyCount
FROM highscores
WHERE DATE(date) BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY DATE(date), username

然而,这并没有给出预期的结果。

4

1 回答 1

2

Wrikken的学分

以下工作:

SELECT COUNT(DISTINCT username) AS dailyCount
FROM highscores
WHERE DATE(date) BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY DATE(date)
于 2013-05-15T21:56:39.690 回答