Q&A for user experience researchers and experts
-- Reputation points given and taken as described here: -- https://stackoverflow.com/help/whats-reputation -- TODO -- Add: -- * +2 for accepting of someones answer to your question -- * +2 for accepted edit -- * bounty -- * +100 site Association Bonus -- * Need to limit: maximum of 200 reputation per day? -- -- * you vote down an answer: −1 -- * you place a bounty on a question: − full bounty amount -- * one of your posts receives 6 spam or offensive flags: −100 -- UserId:User Id -- ToDateYYYYMMDD:To Date [YYYYMMDD] declare @UserId int = ##UserId##; declare @FromDate datetime = DATEADD(year, -1, GetDate()); -- declare @ToDate datetime = Convert(datetime, '##ToDateYYYYMMDD##'); 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 WHEN v.VoteTypeId IN (9) THEN v.BountyAmount 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 >= @FromDate -- AND v.CreationDate < @ToDate ) SELECT SUM(c.ReputationTotal) AS ReputationTotalSum FROM ( SELECT VoteTypeId, Name AS VoteTypeName, Points AS ReputationPerVote, count(*) AS VotesCount, Points * count(*) AS ReputationTotal FROM a GROUP BY VoteTypeId, Points, Name )c