SQL分頁方法從top -> row_number -> offset的演化

top not in 方式

語法格式:

<code>selecttop pageSize 列名 fromtablename
selecttop條數*fromtablename
whereIdnotin(selecttoppageSize*(pageIndex-1) Idfromtablename)/<code>

示例:


SQL分頁方法從top -> row_number -> offset的演化


ROW_NUMBER() OVER()方式 (SQL Server 2008)

語法格式:

<code>SELECT*FROM(SELECT*,ROW_NUMBER()OVER(OrderbyId)ASRowNumberfromtablename )asb
where RowNumberbetween pageIndex-1*pageSizeandpageIndex*pageSize/<code>

示例:

SQL分頁方法從top -> row_number -> offset的演化


offset fetch next方式 (SQL Server 2012)

語法格式:

<code>select * from tablename
order by Id offset pageIndexrow fetch next pageSize row only/<code>

示例:

SQL分頁方法從top -> row_number -> offset的演化



分享到:


相關文章: