某表有如下几条数据:
name account
a     1
a     3
b     4
c     1
c     4
问用什么语句能查询出
a  1
b  4
c  1 
的结果。  就是name唯一,有多条记录的取account最小的那条记录
哪位大侠帮帮小弟啊...

解决方案 »

  1.   

    select name,min(account) from table_name
    group by name;
      

  2.   

    问题变成这样了。。不知道还有没办法解决?
    某表有如下几条数据:
    id name account
    1 a 1
    2 a 3
    3 b 4
    4 c 1
    5 c 4
    问用什么语句能查询出
    1 a 1
    3 b 4
    4 c 1  
      

  3.   

    select id,name,account from (
    select id,name,account,row_number(account)over(partiton by name order by account) rn
    from table_name)
    where rn = 1
      

  4.   


    select name,min(account) account
    from tb
    group by name
      

  5.   

    select id,name,account from tb a where not exists(select 1 from tb b where a.name=b.name and a.account>b.account)
      

  6.   

    还是用2楼的,加上一个min(id)不行吗
      

  7.   


    select name,min(account) from table group by name;