sql - Oracle 根据值选择前 N 行

标签 sql oracle

假设我有一个包含以下列的表格,

Marks
60
80
70
90
95
90
70

我需要选择前 4 行中带有标记的所有行,即。在本例中,应返回 >=70 和 6 行。

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

最佳答案

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

关于sql - Oracle 根据值选择前 N 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16362090/

相关文章:

sql - 如何修复 SQL Server Json 文本格式不正确的问题。在第 151 位发现意外字符

MYSQL 日期查询语法格式不正确

mysql - SQL select s 减去实际值

sql - 没有找到列?

string - Oracle 中的日期月份名称语言?

sql - 添加两个 COUNT 个结果

mysql - phpmyadmin 插入 csv 文件

c# - 如何阻止 oracledatareader 读取

java - 应该使用 Read committed 还是 Serializable 作为隔离级别的场景?

oracle - 如何格式化我的 oracle 查询以使列不换行?