什么是获得最佳3分及其相应详细信息的最佳和最简单的SQL查询。

时间:2012-04-11 08:45:39

标签: sql

我有一个表'结果',其中存储了分数。按“测试”日期排序。现在我需要获得在测试中获得第一,第二和第三的用户的详细信息。

我想要获得我可以使用的第一个分数:

select *
from RESULTS
where SCORE=max(SCORE)

但是第二和第三。 也可以在一个查询中将它们中的三个组合在一起。

1 个答案:

答案 0 :(得分:7)

你可以尝试(MySql)

SELECT * FROM results
ORDER BY score DESC
LIMIT 3

或(MS-SQL)

SELECT TOP 3 * FROM results
ORDER BY score DESC

或(Oracle)

SELECT * FROM
    (SELECT * FROM results
     ORDER BY score DESC) t
WHERE ROWNUM < 4