使用WHERE,GROUP BY和ORDER BY

时间:2013-05-24 15:26:09

标签: mysql group-by where

我有一个包含RacesTimesRaceID列的表格TotalTime,我如何检索每个TotalTime的最低RaceID

我尝试过(其他一些变化,但没有结果)

SELECT * 
FROM `RacesTimes` 
GROUP BY `RaceID` 
ORDER BY `TotalTime` ASC  

但它为我RaceID提供了第一个插入的行,而不是TotalTime的最低RaceID行。

3 个答案:

答案 0 :(得分:2)

SELECT MIN(TotalTime), RaceID
FROM RacesTimes
GROUP BY RaceID
ORDER BY MIN(TotalTime) ASC

请注意,MySQL允许您拥有的语法:其他RDBMS不会。

这说“给我每个RacedID的最小TotalTime”

答案 1 :(得分:1)

您需要aggregate function,特别是MIN

SELECT RaceID, MIN(TotalTime)
FROM RaceTimes
GROUP BY RaceID

答案 2 :(得分:0)

我在表格中也有其他几列,如何将它们全部提取(使用MIN列分组)?