怎样取表里的第N条记录啊?
怎样取表里的第N条记录啊?论坛里的方法不对啊!
查询第xxx行数据
假设id是主键:
select *
from (select top xxx * from yourtable) aa
where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)
出来的是空表
怎样取表里的第N条记录啊?论坛里的方法不对啊!
查询第xxx行数据
假设id是主键:
select *
from (select top xxx * from yourtable) aa
where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)
出来的是空表
我看过一篇SQL的资料,资料中这样说:
本章的介绍中曾强调过,SQL表没有内在的顺序。例如,从一个表中取第二个记录是没有意义的。从SQL的角度看来,没有一个记录在任何其他记录之前。
然而,你可以操纵一个SQL查询结果的顺序。在缺省情况下,当记录从表中取出时,记录不以特定的顺序出现。
--------------------------------------
我觉得如果要取第n条记录,应该先排序,问题是排过序的表,你怎么知道要找的记录在第几条的位置?
谢谢你了
n 為要取的字段
select *
from (select top n * from students) aa
where not exists(select * from (select top n-1 * from students) bb where aa.id=bb.id)
能行﹗
[此贴子已经被作者于2006-9-4 14:44:47编辑过]