If you need to calculate group averages, you can do this:
SELECT CASE WHEN NUMBER_FIRST_GROUP <> 0 THEN SUM_FIRST_GROUP / NUMBER_FIRST_GROUP ELSE NULL END AS AVG_FIRST_GROUP, CASE WHEN NUMBER_SECOND_GROUP <> 0 THEN SUM_SECOND_GROUP / NUMBER_SECOND_GROUP ELSE NULL END AS AVG_SECOND_GROUP, CASE WHEN NUMBER_THIRD_GROUP <> 0 THEN SUM_THIRD_GROUP / NUMBER_THIRD_GROUP ELSE NULL END AS AVG_THIRD_GROUP, CASE WHEN NUMBER_FOURTH_GROUP <> 0 THEN SUM_FOURTH_GROUP / NUMBER_FOURTH_GROUP ELSE NULL END AS AVG_FOURTH_GROUP FROM ( SELECT SUM(CASE WHEN GROUP_ID = 1 THEN 1 ELSE 0 END) AS NUMBER_FIRST_GROUP, SUM(CASE WHEN GROUP_ID = 1 THEN TEST_VALUE ELSE 0 END) AS SUM_FIRST_GROUP, SUM(CASE WHEN GROUP_ID = 2 THEN 1 ELSE 0 END) AS NUMBER_SECOND_GROUP, SUM(CASE WHEN GROUP_ID = 2 THEN TEST_VALUE ELSE 0 END) AS SUM_SECOND_GROUP, SUM(CASE WHEN GROUP_ID = 3 THEN 1 ELSE 0 END) AS NUMBER_THIRD_GROUP, SUM(CASE WHEN GROUP_ID = 3 THEN TEST_VALUE ELSE 0 END) AS SUM_THIRD_GROUP, SUM(CASE WHEN GROUP_ID = 4 THEN 1 ELSE 0 END) AS NUMBER_FOURTH_GROUP, SUM(CASE WHEN GROUP_ID = 4 THEN TEST_VALUE ELSE 0 END) AS SUM_FOURTH_GROUP FROM TEST ) AS FOO
kapand
source share