sqlserver 2008中查找限定行数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 2008中查找限定行数据相关的知识,希望对你有一定的参考价值。
我在sqlserver中有一个表,我想在这个表中查询出第n行开始的m条数据,请问怎么实现啊???
首先你要查第N行,你必须要排序,我假设一ID排序来写这个Sql你如果用其他字段排序,只需要把ID替换成你的字段。
SELECT TOP m * FROM 表名
WHERE( ID>
(SELECT MAX(ID) FROM (SELECT TOP N ID FROM 表名 ORDER BY ID) AS T)
)
ORDERBY ID追问
请问你第三行后面 AS T是什么意思啊?
追答SELECT TOP m * FROM 表名
WHERE ( ID > (SELECT MAX(ID) FROM (SELECT TOP N ID FROM 表名 ORDER BY ID)AS T ))
ORDER BY ID
刚才上面的语句 没把Order by 隔开哈,
AS T 是表示,把(SELECT TOP 3 ID FROM 表名 ORDER BY ID) 这个结果集 取一个别名。表示一张表。如果不加AS T 则会报错,AS T 在这里可以解析为一张表
SELECT TOP 2 * FROM product
WHERE( product_id>
(SELECT MAX(product_id) FROM (SELECT TOP 2 product_id FROM product ORDER BY product_id) AS T)
) ORDER BY product_id
为什么我这样输入报错:
消息 102,级别 15,状态 1,第 3 行
' ' 附近有语法错误。
消息 102,级别 15,状态 1,第 4 行
')' 附近有语法错误。
你的写法没问题,是中间的空格有问题,在这个上面没法给你去空格,你加我QQ327556665
参考技术A ;with cte as(select *,row_number() over(order by id)rn from tb)select * from cte where rn>=n and r<=n+m
以上是关于sqlserver 2008中查找限定行数据的主要内容,如果未能解决你的问题,请参考以下文章
如何查找 SQL Server 2008 实例,包括默认实例