表结构:
id    name    value
1     坑木    1.0
2     坑木    1.0
3     坑木    1.0
4     炸药    1.5
5     炸药    1.5
6     雷管    1.2
得到查询结果是:
id    name    value
1     坑木    1.0
4     炸药    1.5
6     雷管    1.2
也就是:取每一个(name,value)分组里面的id最小的那个

解决方案 »

  1.   

    select * from tab a where not exists(select 1 from tab where name=a.name and value<a.value)
      

  2.   

    SELECT * FROM TB T1
    WHERE NOT EXISTS(
    SELECT 1 FROM TB T2 WHERE T1.[NAME]=T2.[NAME] AND T1.ID<T2.ID
    )
      

  3.   

    SELECT * FROM TB T1
    WHERE 
    NOT EXISTS
    (
    SELECT 1 FROM TB T2 WHERE T1.[NAME]=T2.[NAME] AND T1.ID<T2.ID
    )