Oracle行限制

时间:2012-03-26 16:31:09

标签: sql oracle rownum

我需要限制查询结果。我需要根据ID而不是行数进行限制。

ex: ID   EVENT EVENT_DESC
    __   _____ __________
    1723    1A    1A desc
    1723    1B    1B desc
    2214    2A    2A desc
    2214    2B    2B desc

我需要获得前十名,而不是前十名。我不知道该怎么做。你能指点我一些可以帮助我实现这个目标的文件吗?

2 个答案:

答案 0 :(得分:4)

SELECT *
FROM (
   SELECT id, 
          event,
          event_desc,
          rank() over (order by id desc) as rnk
   FROM your_table
) 
WHERE rnk <= 10

答案 1 :(得分:2)

你在找这样的东西吗?

SQL Server

SELECT TOP 10 ID FROM TABLE
GROUP BY ID

的Oracle

SELECT ID FROM (
    SELECT DISTINCT ID FROM TABLE ORDER BY ID
)
WHERE rownum <= 10