您的位置:首页 > 数据库

写出一条SQL语句:取出表A中第31到40行记录(SQLserver,以自增长的ID作为主键,注意:

2013-08-09 12:53 513 查看

一条Sql语句:取出表A中第31到第40记录

写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
答:

解1: select top 10 * from A where id not in (select top 30 id from A)

解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as

普通做法

select top 10 productid

from Production.Product

where productid not in(

select top 30 productid from Production.Product

order by productid asc

) order by productid asc

临时表做法

declare @table table (id int identity(1,1),pid int)

insert @table(pid)

select productid

from Production.Product

order by productid asc

select productid from Production.Product t1

inner join @table t2 on t1.productid=t2.pid

where t2.id>30 and t2.id<=40

sqlserver2005做法

select * from

(

select productid, ROW_NUMBER() OVER(ORDER BY productid asc) as rowid

from Production.Product

)T

where T.rowid>30 and rowid<=40
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐