如果是oracle用 select id,name from (select id,name,rownum mynum from employee where departmentid=2 ... order by ...) where mynum>10 and mynum<=20 如果是sqlserver用 select top10 from (select top 21 id,name,排序列 from employee where departmentid=2 ... order by 排序列) order by columns desc
select id,name from employee where departmentid=2 limit 10,10 举例: 1-10: limit 0,10 11-20: limit 10,10 11-100: limit 10,90
sqlserver中: select top 100 a.* from table1 a where a.id not in (select top 100 id from table1 order by id) order by a.id这样取到的是100~200之间的数据 只要更改where a.id not in (select top 100 id from table1 order by id)这里的数就可以过虑
select id,name from
(select id,name,rownum mynum from employee where departmentid=2 ... order by ...) where mynum>10 and mynum<=20
如果是sqlserver用
select top10 from
(select top 21 id,name,排序列 from employee where departmentid=2 ... order by 排序列) order by columns desc
举例:
1-10: limit 0,10
11-20: limit 10,10
11-100: limit 10,90
xg_delayth(铁鹰)的或许可以,但是会影响效率的。
limit怎么用?我用的是SQL Server,这根本就不是SQL Server的保留字吧!
Recno()又是什么函数?数据库不认啊!
select * from (select id1,id2,id3,rownum hs from emp) where
hs between 11 and 20
不行啊!测试不通过!rownum又是什么?
select top N * from table1 where a not in (select top 20 a from table1) order by a
这样效率多低啊!岂不是要进行两次遍历?
用top 应该是比较标准的做法了
select top 100 a.* from table1 a
where a.id not in (select top 100 id from table1 order by id)
order by a.id这样取到的是100~200之间的数据
只要更改where a.id not in (select top 100 id from table1 order by id)这里的数就可以过虑