需要有关 SQL 中的 Min 函数的帮助
我有一个如下所示的表格。
+------------+-------+--------+ | 日期_ | 姓名 | 分数 | +------------+-------+--------+ | 2012/07/05 | 杰克 | 1 | | 2012/07/05 | 琼斯 | 1 | | 2012/07/06 | 吉尔 | 2 | | 2012/07/06 | 詹姆斯 | 3 | | 2012/07/07 | 雨果 | 1 | | 2012/07/07 | 杰克 | 1 | | 2012/07/07 | 吉姆 | 2 | +------------+-------+--------+
我想得到如下输出
+------------+------+--------+ | 日期_ | 姓名 | 分数 | +------------+------+--------+ | 2012/07/05 | 杰克 | 1 | | 2012/07/06 | 吉尔 | 2 | | 2012/07/07 | 雨果 | 1 | +------------+------+--------+
当我只使用日期和分数列的 MIN() 函数时,我得到每个日期的最低分数,这就是我想要的。如果同一日期的分数相同,我不在乎返回哪一行。当我还想要输出中的名称列时,麻烦就开始了。我尝试了一些 SQL 变体(即 min 与相关子查询),但我没有运气得到如上所示的输出。任何人都可以帮忙吗:)
查询如下
SELECT DISTINCT
A.USername, A.Date_, A.Score
FROM TestTable AS A
INNER JOIN (SELECT Date_,MIN(Score) AS MinScore
FROM TestTable
GROUP BY Date_) AS B
ON (A.Score = B.MinScore) AND (A.Date_ = B.Date_);