打印本文 打印本文 关闭窗口 关闭窗口
先排序还是先取值
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2011  更新时间:2009/4/22 23:21:40  文章录入:mintao  责任编辑:mintao

----------

         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] 

打印本文 打印本文 关闭窗口 关闭窗口