请教各位大神一条查询语句。
数据表内容如下:
批号        电流        电压        效率
1        1        3        16%
1        3        2        17%
2        1        2        16%
2        2        3        18%
2        2        4        18%
要求查询每批效率值最大时的电流和电压值,如果某批中有两组以上的效率值等于本批中的效率最大值(例如上面批号2的两组数据的效率值都是18%),则任取一组数据即可。
查询结果可以是:
批号        电流        电压        效率
1        3        2        17%
2        2        3        18%
也可以是:
批号        电流        电压        效率
1        3        2        17%
2        2        4        18%想了好长时间了,也没办法实现,希望各位大神能帮我解决一下!谢谢啦!

解决方案 »

  1.   

    好像不是很难吧。select 批号,电流,电压,效率 from 
    (select t.*,row_number() over(partition by 批号 order by  效率 desc) rn from t ) 
    where rn=1
      

  2.   


    http://www.jb51.net/article/37580.htm
      

  3.   

    PATITION BY 
    一百度就知道了
      

  4.   

    select  tt.批号 ,tt.电压,tt.电流, tt.效率 from ZZ_TEST tt ,
    (select max(效率) as max_re,t.批号 as item from ZZ_TEST t group by t.批号) ttt where tt.效率 = ttt.max_re and tt.批号 = ttt.item