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

[复制链接]
查看11 | 回复5 | 2012-9-7 14:59:48 | 显示全部楼层 |阅读模式
这就是个分页取值的原型...31条到40条就是10条数据select top 10 * from 表名 where id not in (select id from 表名 )这样就可以过滤掉前面30条了,其中语句中的'id'值是用来过滤的,无论的你的ID是否连续,只要出现在子查询中的ID,主查询都会把他过滤掉,这样就可以实现31-40的查询了 望采纳...
回复

使用道具 举报

千问 | 2012-9-7 14:59:48 | 显示全部楼层
SQL语句为:select * from A where ID >=31 and ID =31 and RowNum<=40ORACLE和SQL都能使用的是select top 10 * from (select top 40 * from A ord...
回复

使用道具 举报

千问 | 2012-9-7 14:59:48 | 显示全部楼层
sql:select top 10 * from (select top 40 * from A order by A.ID)Torder by T.ID descorcal:SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM A)ROW_ WHERE ...
回复

使用道具 举报

千问 | 2012-9-7 14:59:48 | 显示全部楼层
不好意思之前算错数,下面一句SQL代码返回第31到第40共10条记录,按自动ID升序排序: SELECT T2.* FROM (SELECT TOP 10 T1.*FROM (SELECT TOP 40 * FROM TABLE1 ORDER BY ID)T1 ORDER BY T1.ID DESC) T2 ORDER BY T2.ID...
回复

使用道具 举报

千问 | 2012-9-7 14:59:48 | 显示全部楼层
SELECT TOP 10 * FROM 表名WHERE ID NOT IN(SELECT ID FROM TOP 30 FROM 表名)肯定可以用。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行