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