数据表:t
里面字段:
id , name(名称), num(数量)1    name1     1000
2    name2     1000
3    name3     100
4    name4     10
5    name5     10
6    name6     1  
取出结果为(根据 name 字段排序):
1 name1     1000
3 name3     100
4 name4     10请问怎么取?

解决方案 »

  1.   

    select top 3 name,max(num) as num
    from t
    group by name
    order by max(num) desc
      

  2.   

    楼主给的例子不对哦.
    为什么不是这样的结果啊?1 name1     1000
    2 name2     100
    3 name3     10
      

  3.   

    select distinct top 3 (select top 1 id from t a where a.num=t.num) id,
    (select top 1 name from t b where b.num=t.num) name,
    num from t
    order by num desc