通过gruop获取表的最大值

时间:2017-08-13 17:29:04

标签: sql oracle greatest-n-per-group

我是sql中的新手,现在我正试图获得每个组(GRP)的最佳平均值,我有这个表。

enter image description here

Table1

我试着得到这样的东西,但我不确定该怎么做

enter image description here expected table

1 个答案:

答案 0 :(得分:0)

select  *
from    (
        select  dense_rank() over (partition by grp order by g_avg desc) as rn
        ,       *
        from    (
                select  sid
                ,       grp
                ,       first
                ,       last
                ,       avg(points) as g_avg
                from    YourTable
                group by
                        sid
                ,       grp
                ,       first
                ,       last
                )
        )
where   rn = 1