sql从sql server数据库表中获取部分记录

时间:2011-05-04 13:16:00

标签: sql sql-server tsql sql-server-2008

我想从我的sql server数据库中的表中获取部分记录。比如,在一个查询中我想查看前1000个记录,在下一个查询中接下来的1000个记录。同样..

是否可以使用sql server?我正在使用sql server 2008.在谷歌搜索时,我找到了LIMIT的{​​{1}}子句,但它不适用于mysql。所以任何人都可以在Sql中给出。请帮忙。

2 个答案:

答案 0 :(得分:2)

前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

答案 1 :(得分:0)