0
TABLE1
ID  CLASS   SCORE
1   A   2
2   A   13
3   A   27
4   A   23
5   A   15
6   A   16
7   A   19
8   A   23
9   A   17
5   B   1
9   B   18
15  B   7
16  B   26
17  B   26
18  B   21
19  B   22

I have TABLE1 and wish to make this

CLASS   ID  SCORE   TOTSCORE3   TOTSCOREALL
A   3   27  73  155
A   4   23  73  155
A   8   23  73  155
B   16  26  74  121
B   17  26  74  121
B   19  22  74  121

with THESE RULES, for every CLASS find the THREE IDS with HIGHEST SCORE, then add up those values for TOTSCORE3 and then add up ALL values for a CLASS for TOTSCOREALL

my ATTEMPT:

SELECT CLASS, ID, SCORE, RANK() OVER(ORDER BY SCORE DESC) AS RANK, SUM(SCORE) AS TOTSCOREALL
FROM TABLE1
GROUP BY CLASS
WHERE RANK <=3
bvowe
  • 3,004
  • 3
  • 16
  • 33

0 Answers0