选择第n行Oracle SQL

时间:2020-04-14 23:06:10

标签: sql oracle pagination rownum

我正在尝试通过以下查询访问第三行:

SELECT *
FROM (SELECT
  OFFENSEDESC,
  COUNT(*) AS num
FROM
  CRIMEPROFILE

GROUP BY
  OFFENSEDESC
ORDER BY num DESC) o
WHERE rownum = 3

但是,它不返回任何行,我不确定为什么会得到帮助。注意:ORACLE SQL

1 个答案:

答案 0 :(得分:1)

尝试一下

SELCT
    OFFENSEDESC,
    num
from
(
    SELECT
      OFFENSEDESC,
      COUNT(*) AS num,
      ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as rnk
    FROM
      CRIMEPROFILE
    GROUP BY
      OFFENSEDESC
) val
WHERE rnk = 3