Q&A for professional and enthusiast programmers
declare @start datetime = '2017-10-08'; with terms as( select iif(ClosedDate <= CreationDate+3 /*and IsClosedAsDuplicate = 0*/, 1, 0) closed, iif(DeletionDate <= CreationDate+3, 1, 0) deleted, Id PostId from PostsWithDeleted where PostTypeId = 1 ) select dateadd(week, datediff(week, @start, CreationDate), @start) week, sum(iif(closed = 1 or Score < 0, 100.0, 0))/count(*) bad, sum(iif(Score = 0 or AnswerCount = 0 or closed = 0, 100.0, 0))/count(*) neutral, sum(iif((AnswerCount > 0 and Score = 0) or Score > 0, 100.0, 0))/count(*) good, sum(iif(closed = 1 or Score < 0 or deleted = 1, 100.0, 0))/count(*) bad_deleted, sum(iif(Score < 0, 100.0, 0))/count(*) downvoted, sum(iif(closed = 1, 100.0, 0))/count(*) closed, sum(iif(deleted = 1, 100.0, 0))/count(*) deleted, sum(iif(AnswerCount > 0, 100.0, 0))/count(*) answered from terms join PostsWithDeleted on Id = PostId where PostTypeId = 1 group by dateadd(week, datediff(week, @start, CreationDate), @start) order by dateadd(week, datediff(week, @start, CreationDate), @start)