在SQL中,ROWNUM
是一個(gè)偽列(pseudo column),它用于限制返回結(jié)果中的行數(shù)。它的用法如下:
SELECT
語(yǔ)句中使用ROWNUM
限制結(jié)果集的行數(shù),例如:SELECT * FROM table_name WHERE ROWNUM <= 10;
上述查詢將返回table_name
表中的前10行。
ORDER BY
子句使用ROWNUM
進(jìn)行分頁(yè),例如:SELECT * FROM (
SELECT t.*, ROWNUM AS rnum FROM (
SELECT * FROM table_name ORDER BY column_name
) t
) WHERE rnum >= 11 AND rnum <= 20;
上述查詢將返回table_name
表中按column_name
排序后的第11到第20行。
需要注意的是,ROWNUM
是在查詢結(jié)果返回之后進(jìn)行計(jì)算的,所以在使用ROWNUM
進(jìn)行分頁(yè)時(shí),需要將查詢結(jié)果作為子查詢進(jìn)行處理才能正確獲取分頁(yè)結(jié)果。