我有一个包含 2 列的表,ID 和 URLS,每个 ID 都有几个 URLS。我只想提取每个 ID 最多 5 个 URLS。我如何在 Oracle SQL 中执行此操作?
最佳答案
试试这个,
SELECT ID, URL
FROM
(
SELECT ID, URL,
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY URL DESC) RN
FROM tableName
) a
WHERE RN <= 5
SQLFiddle Demo
关于sql - 甲骨文 SQL : Show n rows for each id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634058/