Q&A for professional and enthusiast programmers
/* Bronze : Silver : Gold 24232308 : 6344070 : 859498 (26 May 2019) 3.820 : 1 : 0.135 28.3 : 7.41 : 1 28 : 7 : 1 */ SELECT Month, 'Trust building' = Sum_badges FROM ( SELECT Month = DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0), Sum_badges = SUM(CASE WHEN Class = 1 THEN 28 ELSE 0 END) + SUM(CASE WHEN Class = 2 THEN 7 ELSE 0 END) + SUM(CASE WHEN Class = 3 THEN 1 ELSE 0 END) FROM Badges GROUP BY DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0) ) AS NewBadges ORDER BY Month