如何在不使用LIMIT / ROWNUM / TOP的情况下从一组有序结果中选择前5个条目,具体取决于DBMS?
答案 0 :(得分:8)
标准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,因为它仍然不支持窗口函数。