これが間違った場所である場合は申し訳ありません - もしそうなら移動してください! 過去数時間、次の情報を返すクエリを考え出そうとしました。
過去 3 か月間 (2012 年 4 月、2012 年 5 月、2012 年 6 月) の「トップ 5」タグごとの質問数と回答数。
私が見つけた他のクエリに基づいて、ここまで来ました:
SELECT *, COUNT(*) AS Count FROM
(
SELECT CAST(
CAST(DATEPART(YYYY, CreationDate) AS varchar) + '-' + CAST(DATEPART(MM, CreationDate) AS varchar) + '-01'
AS DATETIME) [Month],
t.TagName
FROM Posts p
JOIN PostTags pt ON pt.PostId = p.Id
JOIN Tags t ON t.Id = pt.TagId
WHERE TagId IN
(
SELECT TOP 5 Id FROM Tags
ORDER BY Count DESC
)
) AS X
WHERE [Month] >= CAST('2012-04-01' as datetime)
AND [Month] < CAST('2012-07-01' as datetime)
GROUP BY TagName, [Month]
ORDER BY [Month] ASC, TagName ASC
問題は、JOIN によって PostTags が関連付けられていないレコードが削除されることです。私はSQLにあまり熟練していないので、これがいくつかの問題を引き起こしました。関連情報:
- 質問は、PostTypeId が 1 に設定された投稿です
- 回答は、PostTypeId が 2 に設定された投稿です
誰かが助けてくれれば、私は非常に感謝しています。
ありがとう。