1st task

0

Please login or register to vote for this query.

(click on this box to dismiss)

Biology Meta

Q&A about the site for biology researchers, academics, and students

WITH YearlyTagCounts AS (
    SELECT TOP 5
        t.TagName
    FROM PostLinks pl,
         PostTags pt,
         Tags t
    WHERE pl.PostId = pt.PostId
    AND pt.TagId = t.Id
    AND pl.CreationDate >= DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)
    AND pl.CreationDate < DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)
    GROUP BY t.TagName
    ORDER BY COUNT(pl.PostId) DESC
),
DailyTagPosts AS (
    SELECT
        pl.CreationDate AS CDate,
        t.TagName,
        COUNT(pl.PostId) AS DailyPostCount
    FROM PostLinks pl,
         PostTags pt,
         Tags t,
         YearlyTagCounts ytc
    WHERE pl.PostId = pt.PostId
    AND pt.TagId = t.Id
    AND t.TagName = ytc.TagName
    AND pl.CreationDate >= DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)
    AND pl.CreationDate < DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)
    GROUP BY pl.CreationDate, t.TagName
),
CumulativeTagPosts AS (
    SELECT
        CDate,
        TagName,
        SUM(DailyPostCount) OVER (PARTITION BY TagName ORDER BY CDate ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS CumulativePosts
    FROM DailyTagPosts
)
SELECT
    CDate,
    TagName AS Theme,
    CumulativePosts AS CumulativeNumberOfPosts
FROM CumulativeTagPosts
ORDER BY TagName, CDate;

Enter Parameters

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