|
----------
1
2
3
有点麻烦,不过也只能这样.
相同道理, 如果想从表中取出按照某字段排序前M到N条记录
下面的ORACLE语句是最好的:
SQL> select ID from
(
select ID , rownum as con from
(
select ID from TestSort order by ID
)
where rownum <= 3 /*N值*/
)
where con >= 2; /*M 值*/
ID
----------
2
3
MS SQLSERVER中也可以用类似的思路解决此类问题.
当然你也可以用笨一点的办法, 比如用前N条记录的集合MINUS前M-1条记录的集合得到
前M到N条记录集合. (有点象饶口令) , 不过MS SQLSERVER好象不支持MINUS之类的集合操作.
看来小小的一个排序取值问题还真不是那么简单呢 !
Black_Snail
Ligang1000@hotmail.com
欢迎交流,转贴请保留以上信息
上一页 [1] [2] |