又比如这个表是:name(姓名)   (成绩)a            100 
b            90
c            80
d            70
e            80
f            90
g            90用sql语句查询后2条记录f            90
g            90

解决方案 »

  1.   

    如果name有的所描述的规律
    Select * from (Select TOP 2 * from 表 Order By name Desc ) A Order By name
    没有的话Select ID=Identity(Int,1,1),* Into #T from 表
    Select * from (Select Top 2 name, from #T Order By ID desc )A Order By name
      

  2.   


    --建立测试环境
    Create table TEST
    (name Varchar(10),
      Int
    )
    GO
    --插入数据
    Insert TEST Values('a',            100) 
    Insert TEST Values('b',            90)
    Insert TEST Values('c',            80)
    Insert TEST Values('d',            70)
    Insert TEST Values('e',            80)
    Insert TEST Values('f',            90)
    Insert TEST Values('g',            90)
    GO
    --测试
    --方法一
    Select * from (Select TOP 2 * from TEST Order By name Desc ) A Order By name
    --方法二
    Select ID=Identity(Int,1,1),* Into #T from TEST
    Select * from (Select Top 2 name, from #T Order By ID desc )A Order By name
    --删除测试环境
    Drop table TEST,#T
    --结果
    /*
    --方法一
    name
    f 90
    g 90--方法二
    name
    f 90
    g 90
    */