SQL2005查询介于某个数据范围的记录,查询语句有多种,下面为大家介绍几种。
假设:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
在SQL2005中可以使用如下代码:
select * from
(
select productid, ROW_NUMBER() OVER(ORDER BY productid asc) as rowid from A.Product
)T
where T.rowid>30 and rowid<=40
当然,如果想使用简单语句,也可以使用下面的两条语句。
select top 10 * from A where id not in (select top 30 id from A)
select top 10 * from A where id > (select max(id) from (select top 30 id from A )as
其它版本的做法:
select top 10 productid from A.Product
where productid not in(
select top 30 productid from A.Product
order by productid asc
) order by productid asc