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, 0) closed, iif(DeletionDate <= CreationDate+3, 1.0, 0) deleted, iif(Score < 0, 1.0, 0) downvoted, Id PostId from PostsWithDeleted where PostTypeId = 1 ) select dateadd(week, datediff(week, @start, CreationDate), @start) week, sum(iif(closed = 1.0 or downvoted = 1.0, 1.0, 0))/count(*) bad, sum(downvoted)/count(*) downvoted, sum(closed)/count(*) closed, sum(deleted)/count(*) deleted 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)