[英]SQL query for top 5 results without the use of LIMIT/ROWNUM/TOP
如何在不使用LIMIT / ROWNUM / TOP的情况下从有序结果集中选择前5个条目,具体取决于DBMS?
标准ANSI SQL解决方案:
SELECT *
FROM (
SELECT col1,
col2,
row_number() over (order by some_col) as rn
FROM the_table
) t
WHERE rn <= 5
适用于Oracle,PostgreSQL,DB2,SQL Server,Sybase,Teradata和即将推出的Firebird 3.0,但不适用于MySQL,因为它仍不支持窗口功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.