在PostgreSQL中,有LimitandOffset关键字可以非常容易地分页结果集。
Limit
Offset
SQL Server的等效语法是什么?
相当于LIMIT是SET ROWCOUNT,但如果你想通用分页,最好写这样的查询:
LIMIT
SET ROWCOUNT
;WITH Results_CTE AS ( SELECT Col1, Col2, ..., ROW_NUMBER() OVER (ORDER BY SortCol1, SortCol2, ...) AS RowNum FROM Table WHERE <whatever> ) SELECT * FROM Results_CTE WHERE RowNum >= @Offset AND RowNum < @Offset + @Limit
这样做的好处是,如果您决定更改分页选项(或允许用户这样做),则可以对偏移量和限制进行参数化。
注意:@Offset为此,该参数应使用基于1的索引,而不是基于零的常规索引。
@Offset