如何在SQL Server中创建MySQL的LIMIT?

时间:2009-12-16 10:28:29

标签: sql-server pagination

我正在从数据库中检索数千个数据。我想通过限制100条记录在网页上显示。我可以使用以下SQL显示前100条记录:

SELECT TOP 100 * FROM TBLStock

如何导航下一个记录101到200,201到300等。?请帮我。我正在使用SQL Server 2005.帮助!如何在MySQL中编写像LIMIT一样的SQL Server?

2 个答案:

答案 0 :(得分:3)

方法1: 选择前100名(选择前500名)

AFAIK这是Yukon之前的唯一途径(MS SQL server 2005)。双重选择,中间有反向排序。

令人惊讶的是,它也被认为是有效的。

方法2:使用从SQL Server 2005开始可用的Row_Number()函数,正如另一篇文章建议的那样。

答案 1 :(得分:2)

SELECT t.*
FROM
(
    SELECT first_column, second_column, third_column, etc,
        ROW_NUMBER() OVER (ORDER BY sort_column) AS row_num
    FROM your_table
) AS t
WHERE t.row_num BETWEEN 50 AND 100
ORDER BY t.row_num