Q&A for people who like playing board games, designing board games or modifying the rules of existing board games
CREATE TABLE #users (UserId nvarchar (35), Name nvarchar (100)); INSERT INTO #users(UserId, Name) VALUES (209103, 'puf'), (394010, 'katowulf'), (110915, 'mikelehen'), (879295, 'rdimarco'), (1373162, 'deast'), (5385206, 'sganem'), (3875023, 'mpmcdonald'), (5081766, 'bojeil'), (807126, 'dougstevenson'), (1410370, 'arthurthompson'), (839465, 'mimming'), (324977, 'samstern'), (819314, 'ianbarber'), (1172232, 'gregsoltis'), (937583, 'raynor'), (613115, 'dgiorgino'), (1915327, 'dmabin'), (4186942, 'bjiang'), (4625829, 'aalawi'), (4447017, 'andysoto'), (978525, 'eobrain'), (9849, 'rsattar'), (2955366, 'jwenger'), (1028647, 'jamesdaniels'), (226391, 'bleigh'), (7688078, 'rjh'), (153407, 'danmcg'), (3975963, 'mbonnell'), (42960644, 'krausefx'), (5190886, 'hkj'), (2546685, 'oleksiyi'), (556617, 'paulbeusterien'), (6253640, 'mcg'), (4816918, 'jhuleatt'), (7164592, 'personjennifer'), (6122677, 'kianam'), (2207583, 'tburner'); CREATE TABLE #answers (MONTH date, Name nvarchar(100), Count int); INSERT INTO #answers SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, CreationDate), 0) AS [MONTH] , Name , COUNT(*) AS Count FROM Posts INNER JOIN #users ON Posts.OwnerUserId = #users.UserId WHERE CreationDate > '2017-01-01' GROUP BY DATEADD(MONTH, DATEDIFF(MONTH, 0, CreationDate), 0), Name ORDER BY [MONTH] DESC SELECT * FROM #answers WHERE Name IN ( SELECT TOP 7 Name FROM #answers WHERE MONTH IN ( SELECT TOP 7 MONTH FROM #answers ORDER BY MONTH DESC ) ORDER BY Count DESC ) ORDER BY MONTH DESC