CREATE TABLE #days(Date datetime) INSERT INTO #days SELE...

0

Please login or register to vote for this query.

(click on this box to dismiss)

English Language Learners

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),
                         (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))

FETCH NEXT FROM c INTO @day
END
CLOSE c
DEALLOCATE c

SELECT * FROM #rep

Enter Parameters

Options:
Switch to meta site
loading Hold tight while we fetch your results