select * from
(
select top 4 * from AA
order by id desc
) a
order by id
(
select top 4 * from AA
order by id desc
) a
order by id
解决方案 »
- sql 中两个字符串变量如何合并为一个
- 如何定时删除某个表中的两天前的数据?
- 疑问
- 在tempdb中有记录,但实际上没有这张表,怎么一回事?
- 挑战where语句,各方高人请指点。
- SQL执行结果当中的Messages如何保存到表当中
- 如何是用参数启动SQL服务
- 这句sql的结果是什么?为什么是这样?(很简单)
- 用ADO如何新建一个access数据库??急!!!!!
- 高手请进-》关于 Select * from Table_Name where Field1 in (变量) 的问题??
- SQL Personal Version和Standard Version在使用上有什么区别啊?
- 高分跪求,如何建立个作业自动压缩日志。
select *
from AA
where [id] between @M and (@M+4)
where id not in (select top m-4 * from AA order by id)
order by id
//条件是m是定值,如果是参数,那么需要exec执行动态语句。
create table #table(typeid varchar(4),num int)insert #table values('1月',1)
insert #table values('2月',2)
insert #table values('3月',3)
insert #table values('4月',4)
insert #table values('5月',5)select * from #table
--比如我要取第2到第4条记录
select * from #table where typeid not in (select top 1 typeid from #table order by typeid)
and typeid not in (select top 1 typeid from #table order by typeid desc)
--删除测试表
drop table #table
--结果typeid num
------ -----------
1月 1
2月 2
3月 3
4月 4
5月 5(所影响的行数为 5 行)typeid num
------ -----------
2月 2
3月 3
4月 4(所影响的行数为 3 行)
set @m=6
set @sql=
'select top 4 * from AA
where id not in (select top '+convert(varchar,@m)+' ID from AA order by ID)
order by ID'
exec (@sql)
看了各位热心朋友的回复,我想通过两个procedure可以实现,先查询出所有的count
一个procedure里如果我使用两个参数进行循环比较统计也可以,可能消耗资源比较多吧declare @nums int
declare @tmpid int
declare @newid int
set @tmpid=1
set @nums=0
while exists(select * from AA where id=@tmpid)
begin
select id from AA where id=@tmpid
set @tmpid=@tmpid+1
set @nums=@nums+1
end
--得到记录集后再使用dutguoyi(新鲜鱼排)的方法做.