Writeups AS ( SELECT GROUPING(Monk_Level) RU, Monk_Level, ROUND(MIN(Writeups)) Min, ROUND(MAX(Writeups)) Max, ROUND(AVG(Writeups)) Avg, ROUND(MEDIAN(Writeups)) Median FROM Data_Level_Calc WHERE -- Exclude those not representative of their group. Name NOT IN ('vroom', 'NodeReaper') GROUP BY ROLLUP(Monk_Level) ) SELECT Writeups.Monk_Level, COUNT(*) Monk_Total, Writeups.Min, Writeups.Max, Writeups.Avg, Writeups.Median, COUNT(CASE WHEN DLC.Writeups < Writeups.Avg THEN 1 END) Lower, COUNT(CASE WHEN DLC.Writeups = Writeups.Avg THEN 1 END) Equal, COUNT(CASE WHEN DLC.Writeups > Writeups.Avg THEN 1 END) Higher FROM Data_Level_Calc DLC, Writeups WHERE Writeups.Monk_Level = DLC.Monk_Level OR Writeups.RU = 1 -- AND Name NOT IN ('vroom', 'NodeReaper') GROUP BY Writeups.Monk_Level, Writeups.Min, Writeups.Max, Writeups.Avg, Writeups.Median ORDER BY Writeups.Monk_Level;