表AID     Type    Num
1      C       600
2      A       300
3      D       330
4      A       400
5      B       390
6      C       150
7      B       100如想得到此结果该怎么查表呢?语句怎么写(也就是NUM排行最高的三个类)
1      C       600
4      A       400
5      B       390

解决方案 »

  1.   

    select top 3 * from 表 order by Num desc
      

  2.   

    Select ID,Type,Max(Num) From A Group By ID,Type
    一条语句就可以了
      

  3.   


    select *  from a
    where num in (select top 3 num from a)
      

  4.   

    Select Top 3 ID,Type,Num From A Order By Num Desc
      

  5.   

    感谢大家的回复,但大家都忘记了一个条件,是三个类中最高的数值,假如再多一条记录 8   C   500
    那大家的答案都不正确的。
    表AID Type Num
    1 C 600
    2 A 300
    3 D 330
    4 A 400
    5 B 390
    6 C 150
    7 B 100
    8 C 500如想得到此结果该怎么查表呢?语句怎么写(也就是NUM排行最高的三个类)
    1 C 600
    4 A 400
    5 B 390
      

  6.   

    select Type,max(Num) as Num from table group by Type order by Type
      

  7.   

    select Type,max(Num) as Num from table group by Type order by max(Num) desc
      

  8.   

    select * from
    (select top 3 Type,max(Num) as Num from table group by Type order by max(Num) desc) a
    left join table b on a.Type=b.Type and a.Num=b.Num