Oracle SQL:为每个id显示n行

ano*_*non 2 sql oracle plsql top-n

我有一个包含2列ID和URL的表,每个ID都有几个URL.我想每个ID只提取5个最大URL.我如何在Oracle SQL中执行此操作?

Joh*_*Woo 7

试试这个,

SELECT ID, URL
FROM
    (
        SELECT ID, URL,
               ROW_NUMBER() OVER (PARTITION BY ID ORDER BY URL DESC) RN
        FROM   tableName
    ) a
WHERE RN <= 5
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示