Q&A for speakers of other languages learning English
-- Enter Query Title -- Enter Query Description CREATE TABLE #days(Date datetime) INSERT INTO #days SELECT Votes.CreationDate FROM Votes, Users WHERE Users.Id = ##UserId## AND Votes.CreationDate >= Users.CreationDate GROUP BY(Votes.CreationDate) CREATE TABLE #rep(Date datetime, RecentUpvotes int, OldUpvotes int) DECLARE c CURSOR FOR SELECT * FROM #days ORDER BY Date; OPEN c DECLARE @day datetime FETCH NEXT FROM c INTO @day WHILE @@fetch_status = 0 BEGIN INSERT INTO #rep VALUES (@day, (SELECT COUNT(*) FROM Votes, Posts WHERE Votes.VoteTypeId = 2 AND Votes.PostId = Posts.Id AND Posts.OwnerUserId = ##UserId## AND CAST(FLOOR(CAST(Posts.CreationDate AS FLOAT)) AS DATETIME) = @day AND Votes.CreationDate >= Posts.CreationDate - 7), 0) FETCH NEXT FROM c INTO @day END CLOSE c DEALLOCATE c SELECT * FROM #rep