Q&A for users and developers of distributed applications built on top of the blockchain operating system, EOS.IO
with a as ( select [Month], PostTypeId, SUM(case when VoteTypeId = 2 then 1.00 when VoteTypeId = 3 then -1.00 else 0.00 end) quickVotes from Votes v join ( Select CAST(cast(DATEPART(YYYY, CreationDate) as float) + cast(DATEPART(MM, CreationDate) as float)/12 as float) [Month], Id, CreationDate, AnswerCount, PostTypeId from Posts ) p on p.Id = v.PostId where DATEDIFF(day, p.CreationDate, v.CreationDate) BETWEEN 0 AND 30 and p.PostTypeId in (1,2) group by [postId], [Month], PostTypeId ) select [Month], PostTypeId, avg(quickVotes) from a group by [Month], PostTypeId order by [Month]