形如这样的表
user_nm   seq
aa         1
aa         2
bb         1
bb         2
cc         3
cc         4
dd         5,
如何用sql查出每个用户的最大编号的行,就是这样的结果
aa         1
bb         1
cc         3
dd         5

解决方案 »

  1.   

    select user_nm , max(seq) seq from tb group by  user_nm --你的结果错了吧.
      

  2.   

    --最大
    select user_nm , max(seq) seq from tb group by  user_nm --最小
    select user_nm , min(seq) seq from tb group by  user_nm 
      

  3.   

    select user_nm,seq from (select user_nm,seq,row_number() over(partition by user_num oder by seq desc) rn from table)
    where rn = 1;或者select user_nm,seq from table a where not exists (select 1 from table b where b.user_nm = a.user_nm and b.seq > a.seq);
      

  4.   

    那就是#3中:
    第一段sql去掉desc或者 第二段sql>改为<
      

  5.   

    select user_nm,seq from (select user_nm,seq,row_number() over(partition by user_num oder by seq desc) rn from table) 
    where rn = 1;