如题,选取id值为最大的那组数据,max我知道的,是取最大值,第二大,和第三大呢,我需要按顺序来取,谁有好的方法,因为ID是不连贯的,所以不能按照+1的方法来做的

解决方案 »

  1.   

    取top 3,这样第二个就第二大,依次类推
      

  2.   

    order by desc 这个来排序!
      

  3.   

    select top 3 ID from table order by ID desc
      

  4.   

    order by desc就好了.
    如果需要n条
    就top n
      

  5.   


    SELECT top 3 * FROM tb order by id desc
      

  6.   

    top 关键字+order by
      

  7.   

     top ID  +  order by
      

  8.   

    需要前几条数据就top n 然后排序按order by id desc
      

  9.   


       select top 3 * from tb order by id desc
      

  10.   

    哥哥 看来sql语句还没过关啊~~
      

  11.   

    这不就是
    select top N id from table
    where id not in (select top M id from table)
    问题吗?
      

  12.   

    select top 3 * from table order by id desc
      

  13.   


    --查询最大的
    select top 1  * from ftp where ID not in
    (select top 0 ID from ftp order by FileSize desc) 
     order by FileSize desc
    --查询最二大的
    select top 1  * from ftp where ID not in
    (select top 1 ID from ftp order by FileSize desc) 
     order by FileSize desc
    --查询第三大的
    select top 1  * from ftp where ID not in
    (select top 1 ID from ftp order by FileSize desc) 
     order by FileSize desc
      

  14.   

    --查询第三大的select top 1  * from ftp where ID not in
    (select top 2 ID from ftp order by FileSize desc) 
     order by FileSize desc--刚才没注意了
      

  15.   

    row_num不就可以了Select * From(Select *,ROW_NUMBER() OVER(ORDER BY id DESC) as RowNum From tb) newtb 
    where RowNum=2--这样就取出了第二大
      

  16.   

     在页面写FOR循环 想找第几个ID就IF()判断索引
      

  17.   

    select top 10 * from table1  order by id desc   按照id倒序排列 不就可以了么