delete tb where id in(select top 20 id from tb order by id)select top 30 * from ( select top 50 * from tb order by id ) t order by id desc
select top 20 * from ( select top 50 * from tb order by id ) t order by id desc
--删除前20笔的资料 delete tb where id in(select top 20 id from tb order by id) --取出30-50笔之间的资料 select top 20 * from (select top 50 * from tb order by id desc) t order by id desc
更正下: --取出30-50笔之间的资料 [code=SQL][/ select top 20 * from (select top 50 * from tb order by id desc) t code]
--删除前20笔的资料 方法2:delete tb from (select top 20 * from t ) t where tb.id=t.id
--删除前20笔的资料 delete tb from (select top 2 * from tb ) t where tb.id=t.id
有 --如果ID从1开始计数,并且是连续递增的 select * from tb where id between 30 and 50--如果ID是递增的select * from ( select *, px=(select count(1)+1 from tb where id<t.id) from tb t ) tt where px between 30 and 50
where id in(select top 20 id from tb order by id)select top 30 *
from (
select top 50 * from tb order by id
) t order by id desc
from (
select top 50 * from tb order by id
) t order by id desc
--删除前20笔的资料
delete tb
where id in(select top 20 id from tb order by id)
--取出30-50笔之间的资料
select top 20 *
from (select top 50 * from tb order by id desc) t
order by id desc
--取出30-50笔之间的资料
[code=SQL][/
select top 20 *
from (select top 50 * from tb order by id desc) t
code]
where tb.id=t.id
from (select top 2 * from tb ) t
where tb.id=t.id
有
--如果ID从1开始计数,并且是连续递增的
select * from tb where id between 30 and 50--如果ID是递增的select *
from
(
select
*,
px=(select count(1)+1 from tb where id<t.id)
from tb t
) tt
where px between 30 and 50