【问题标题】:sql Fetch records from sql server database table in partssql 分部分从 sql server 数据库表中获取记录
【发布时间】:2011-08-18 13:07:34
【问题描述】:
我想从我的 sql server 数据库中的表中获取部分记录。就像,在一个查询中我想查看前 1000 条记录,在下一个查询中查看接下来的 1000 条记录。同样...
sql server 可以吗?我正在使用 sql server 2008。在谷歌搜索时,我发现mysql 的LIMIT 子句,但它不适用于sql server。所以任何人都可以在Sql中给出。请帮忙。
【问题讨论】:
标签:
sql
sql-server
tsql
sql-server-2008
【解决方案1】:
前 1000 条记录:
SELECT TOP 1000 *
FROM mytable
ORDER BY
mycolumn
通用解决方案(支持偏移)
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (ORDER BY mycolumn) rn
FROM mytable
) q
WHERE rn BETWEEN 1001 AND 2000
ORDER BY
mycolumn