Вопросы и ответы о сайте для программистов
;with firstpostids_cte as ( SELECT MIN(Id) AS MinId, OwnerUserId FROM PostsWithDeleted WHERE PostTypeId=1 GROUP BY OwnerUserId ) , firstpostsclosed_cte as ( SELECT p.Id, p.CreationDate AS cre, p.DeletionDate AS del FROM firstpostids_cte fp JOIN PostsWithDeleted p ON fp.MinId=p.Id ) SELECT number = ROW_NUMBER() OVER (ORDER BY format(cre, 'yyyy-MM')), format(cre, 'yyyy-MM'), ROUND((COUNT(del))*100.0/(COUNT(*)),5) AS percentage FROM firstpostsclosed_cte GROUP BY format(cre, 'yyyy-MM') ORDER BY format(cre, 'yyyy-MM')