求助:如何在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
------解决方案--------------------分析函数了。
哎,每天这种需求csdn都能看到很多。。。。
select group,time,value from (
select t.* ,row_number() over(partition by group order by time desc) rn from t )
where rn=1