2017-08-13 1 views
0

Je suis un peu nouveau en SQL, en ce moment j'essaie d'obtenir la meilleure moyenne pour chaque groupe (GRP) et j'ai cette table.Obtenir la valeur maximale d'une table par gruop

enter image description here

Table1

je suis tryng pour obtenir quelque chose comme ça, mais je ne suis pas sûr de savoir comment faire

enter image description here expected table

+0

La question marquée comme double la source n'atteint pas une moyenne, mais maxes une simple colonne – Andomar

+0

Veuillez publier la requête ou les requêtes que vous avez déjà essayées. – Kirby

Répondre

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