test

0

Please login or register to vote for this query.

(click on this box to dismiss)

Ask Patents Meta

Q&A about the site for people interested in improving and participating in the patent system

-- "One-Hit Wonders" - Extreme Type A popular posts from:
-- http://data.stackexchange.com/stackoverflow/query/109257/popular-posts-type-a-vs-type-b


-- Type A Popular Posts:    (Variance Index > 50)
--   Type A's are those that have received a lot of attention in a short
--   amount of time due to becoming "hot" at some point in its history.
--   Type A's are often linked on Reddit, Hacker News, SE Multicollider, etc...

--   Type A's are generally "interesting" or "fun" questions.
--   They are upvoted because they are "awesome", "cool", or "funny".


declare @minPostAge       numeric = 30
declare @minDaysWithVotes numeric = 4

DECLARE @endDate date
SELECT  @endDate = max(CreationDate) from Posts

SELECT top 1000
    (CASE tmp.posttype
        WHEN 1 THEN 'Q'
        WHEN 2 THEN 'A'
     END),
    tmp.[Post Link],
    tmp.[User Link],
    tmp.[Age],
    tmp.score AS [Score],
    Max(tmp.dVotes) AS [Vote Spike],
    Cast((STDEVP(tmp.dVotes) + 1) / SQRT(SUM(tmp.dVotes)) * 100 AS DECIMAL(20,5))
        AS [Variance Index],
    Cast(STDEVP(tmp.dVotes) + 1 AS DECIMAL(20, 3))
        AS [Type A],
    Cast(tmp.score / (STDEVP(tmp.dVotes) + 1) AS DECIMAL(20, 3))
        AS [Type B]
FROM

-- Subquery forked from:
-- http://data.stackexchange.com/stackoverflow/query/108188/upvotes-per-post-and-per-day
    (SELECT
      p.PostTypeId AS posttype,
      v.PostId AS [Post Link],
      p.OwnerUserId AS [User Link],
      v.CreationDate AS [Date],
      DATEDIFF(DAY,p.CreationDate,@endDate) AS [Age],
      Count(*) AS dVotes,
      p.score AS score
    FROM Votes v
    LEFT JOIN Posts p ON p.Id = v.PostId
    WHERE
        DATEDIFF(DAY,p.CreationDate,@endDate) >= @minPostAge and
        v.VoteTypeId = 2 and p.PostTypeId is not null
    GROUP BY
        v.PostId,
        v.CreationDate,
        p.CreationDate,
        p.OwnerUserId,
        p.PostTypeId,
        p.Score
    ) AS tmp
    
WHERE tmp.score > 0
GROUP BY
    tmp.[Post Link],
    tmp.posttype,
    tmp.[User Link],
    tmp.score,
    tmp.[Age]
HAVING
    COUNT(tmp.dVotes) >= @minDaysWithVotes
ORDER BY [Type A] DESC

Enter Parameters

Options:
Switch sites:
loading Hold tight while we fetch your results