Oracle根据值选择前N行

时间:2013-05-03 15:06:43

标签: sql oracle

如果我有一个包含以下列的表,

Marks
60
80
70
90
95
90
70

我需要选择前4位带有标记的所有行,即。在这种情况下,> = 70并且应该返回6行。

我不知道怎么做,有人可以帮忙吗?感谢。

1 个答案:

答案 0 :(得分:4)

SELECT Marks FROM (
  SELECT Marks, DENSE_RANK() OVER (ORDER BY Marks DESC) AS MarksRank
  FROM yourtable
) WHERE MarksRank <= 4