select bh,jg from 
(
    select 
    bh,lx,jg,rownum() over(partition by bh order by lx) rank
    from table
) t 
where t.rank=1

解决方案 »

  1.   

    这里的lx=a,b,c只是一个代码实际上应该是ZA00,Z120,ZA10。所以楼上的方法是处理不了的
      

  2.   

    --那这样应该就可以了吧!select bh,jg from 
    (
        select 
        bh,lx,jg,rownum() over(partition by bh order by decode(lx,'ZA00',1,'Z120',2,'ZA10',3)) rank
        from table
    ) t 
    where t.rank=1
      

  3.   

    我感觉你的lx不会就这三种吧,如果就三种的话,楼上的就ok,如果lx不确定有多少,不知道你想怎么排序