【问题标题】:What is the best and simplest SQL Query to get the Best 3 scores and their corresponding details.什么是获得最佳 3 分的最佳和最简单的 SQL 查询及其相应的详细信息。
【发布时间】:2012-04-23 13:33:24
【问题描述】:

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

我想为了获得第一个分数,我可以使用:

select *
from RESULTS
where SCORE=max(SCORE)

但是第二和第三呢? 也有可能在一个查询中将它们三个放在一起。

【问题讨论】:

  • where SCORE=max(SCORE) 无论如何都不是正确的语法。应该是where SCORE = (select max(SCORE) from RESULTS)
  • 我认为已经足够好了。什么是更正

标签: sql


【解决方案1】:

你可以试试(MySql)

SELECT * FROM results
ORDER BY score DESC
LIMIT 3

或 (MS-SQL)

SELECT TOP 3 * FROM results
ORDER BY score DESC

或(甲骨文)

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 2017-06-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多