Q&A for user experience researchers and experts
WITH a AS ( SELECT v.PostId, v.VoteTypeId, t.Name, v.CreationDate, v.BountyAmount, CASE WHEN v.VoteTypeId IN (1) THEN 15 WHEN v.VoteTypeId IN (2) THEN 10 WHEN v.VoteTypeId IN (3) THEN -2 Else 0 END AS Points FROM Votes v JOIN VoteTypes t ON v.VoteTypeId = t.Id WHERE PostId IN ( SELECT Id FROM Posts WHERE OwnerUserId = ##UserId##) AND v.CreationDate > DATEADD(year, -1, GetDate()) ) SELECT SUM(c.VoteTypeIdCountProduct) FROM ( SELECT VoteTypeId, Points, count(*) AS VoteTypeIdCount, Points * count(*) AS VoteTypeIdCountProduct FROM a GROUP BY VoteTypeId, Points )c