我需要更改下面的查询,以获取前5个最新用户,而不仅仅是最近的单个用户。但是由于sql不允许LIMIT
就像可以在mysql中完成,我准备了这个:
SELECT * FROM users WHERE joined in (select max(joined) from users)
这会抓住我最近的用户,但无法理解我如何将其扩展到最近的5位用户。
答案 0 :(得分:3)
这样的事情一定对你有用:
SELECT * FROM (select * from users order by joined DESC) u where rownum<=5
如果您从已经订购的数据中选择,则rownum将对应于最新日期。
答案 1 :(得分:1)
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