簡體   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