繁体   English   中英

不使用LIMIT / ROWNUM / TOP的前5个结果的SQL查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM