日期:2014-05-17  浏览次数:21067 次

求助:如何在oracle中统计分组统计出现频率最高的数据
分组数据类似:
group  time value
a       1    1.1
a       2    1.2
a       10   1.0
b       3    2.0
b       2    1.9
c       2    10.0
c       1    9.0
group列分组,time列是统计的次数,value是值
我要按group列统计出time最高的值对应的value
最后要得到下面这样的结果:
group  time value
a       10   1.0
b       3    2.0
c       2    10.0
请问各位高手,我的sql应该怎么写呢?
环境:oracle11.2
Oracle 统计出现频率最高

------解决方案--------------------
分析函数了。
哎,每天这种需求csdn都能看到很多。。。。
select group,time,value from (
select t.* ,row_number() over(partition by group order by time desc) rn from t )
where rn=1