Sql 在oracle查询中获取限制条件

Sql 在oracle查询中获取限制条件,sql,database,oracle,oracle10g,Sql,Database,Oracle,Oracle10g,我需要修改下面的查询,以获取前5个最近的用户,而不仅仅是最近的单个用户。但由于sql不允许像在mysql中那样进行限制,我准备了以下内容: SELECT * FROM users WHERE joined in (select max(joined) from users) 这将获取我的最新用户,但无法理解如何将其扩展到5个最新用户。类似的内容必须适用于您: SELECT * FROM (select * from users order by joined DESC) u whe

我需要修改下面的查询,以获取前5个最近的用户,而不仅仅是最近的单个用户。但由于sql不允许像在mysql中那样进行限制,我准备了以下内容:

SELECT * FROM users WHERE joined in (select max(joined) from users)

这将获取我的最新用户,但无法理解如何将其扩展到5个最新用户。

类似的内容必须适用于您:

      SELECT * FROM (select * from users order by joined DESC) u where rownum<=5

如果您从已订购的数据中选择rownum,则它将对应于最新日期。

类似的内容必须适用于您:

      SELECT * FROM (select * from users order by joined DESC) u where rownum<=5
SELECT m.* 
FROM (SELECT u.*
           , rank() OVER (ORDER BY u.joined) r 
      FROM users u) m 
WHERE r BETWEEN 0 AND 5 
ORDER BY m.joined

如果您从已订购的数据中选择,rownum将对应于最新日期。

谢谢,这是简单而甜蜜的解决方案^。此外,它是足够的检查r排名可能会得到超过5的情况下,领带。同时,检查r也足够了
SELECT m.* 
FROM (SELECT u.*
           , rank() OVER (ORDER BY u.joined) r 
      FROM users u) m 
WHERE r BETWEEN 0 AND 5 
ORDER BY m.joined