Q&A for professional mathematicians
SELECT SUM(Case When (v.VoteTypeId=2) Then 1 Else 0 End) AS [Upvotes], ROUND(CAST(SUM(Case When (v.VoteTypeId=2) Then 1 Else 0 End) AS decimal)/CAST(COUNT(DISTINCT q.Id) AS decimal), 2) AS [Average], SUM(Case When (v.VoteTypeId=3) Then 1 Else 0 End) AS [Downvotes], ROUND(CAST(SUM(Case When (v.VoteTypeId=3) Then 1 Else 0 End) AS decimal)/CAST(COUNT(DISTINCT q.Id) AS decimal), 2) AS [Average], COUNT(DISTINCT q.Id) AS [Count] FROM Posts q LEFT OUTER JOIN Votes v ON v.PostId=q.Id INNER JOIN Users u ON q.OwnerUserId=u.Id WHERE (q.PostTypeId=1) AND (DATEDIFF(day, u.CreationDate, q.CreationDate)<=##days?100##)