如果这是错误的位置,我深表歉意 - 如果是这样,请移动它!在过去的几个小时里,我一直在尝试提出一个将返回以下信息的查询:
过去三个月(2012 年 4 月、2012 年 5 月、2012 年 6 月)每个“前 5 个”标签的问题数和答案数。
我得到了 this far ,基于我发现的其他查询:
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 消除了没有关联 PostTag 的记录。我对 SQL 不是很熟练,所以这给我带来了一些问题。相关信息:
- 问题是 PostTypeId 设置为 1 的帖子
- 答案是 PostTypeId 设置为 2 的帖子
如果有人能提供帮助,我将不胜感激。
谢谢。
最佳答案
五个月后,我认为这可以满足您的要求:
https://data.stackexchange.com/stackoverflow/query/89629/questions-per-tag-top-five-by-month
提供答案的计数会使查询有点复杂,但我认为上面的查询将问题和答案分配到正确的月份和标签中。
关于mysql - 如何通过 data.stackexchange.com 获取每个标签的问题和答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424461/