1、 select top 10* from (select top 30 * from ta order by id) a order by id desc
2、 set rowcount 30select * into # from ta order by idselect top 10 * from # order by id descdrop table #set rowcount 0
3\ select top 10 * from ta where id in (select top 20 id from ta order by id) order by id
错了,应该是: where id not in (select top 20 id from ta order by id)
请问这个set是什么意思啊?rowcount 是关键字吗?
select top 10 * from 表名 where id not in(select top 20 id from 表名 order by id) order by id
2005下也可以: select * from (select *,row_number() over(order by id) rum from 表名) tt where rum between 20 and 30
select * from ( select rownum rid,* from ta order by id ) a where a.rid between 21 and 30
select top 10 *from (select top 30 * from 表 desc) a
1. select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入 set rowcount n select * from 表变量 order by columnname desc 2. select top n * from (select top m * from tablename order by columnname) a order by columnname desc 3. 如果tablename里没有其他identity列,那么: select identity(int) id0,* into #temp from tablename取n到m条的语句为: select * from #temp where id0 >=n and id0 <= m如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行: exec sp_dboption 你的DB名字,'select into/bulkcopy',true 4. 如果表里有identity属性,那么简单: select * from tablename where identitycol between n and m
select top 10 * from (select top 40 * from a order by id desc )as t
select top 10*
from
(select top 30 * from ta order by id) a
order by id desc
set rowcount 30select * into # from ta order by idselect top 10 * from # order by id descdrop table #set rowcount 0
select top 10 * from ta
where id in (select top 20 id from ta order by id)
order by id
where id not in (select top 20 id from ta order by id)
2005下也可以:
select * from (select *,row_number() over(order by id) rum from 表名) tt where rum between 20 and 30
from (
select rownum rid,* from ta order by id
) a
where a.rid between 21 and 30
select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入
set rowcount n
select * from 表变量 order by columnname desc
2.
select top n * from
(select top m * from tablename order by columnname) a
order by columnname desc
3.
如果tablename里没有其他identity列,那么:
select identity(int) id0,* into #temp from tablename取n到m条的语句为:
select * from #temp where id0 >=n and id0 <= m如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行:
exec sp_dboption 你的DB名字,'select into/bulkcopy',true
4.
如果表里有identity属性,那么简单:
select * from tablename where identitycol between n and m