【发布时间】:2012-07-10 14:05:59
【问题描述】:
如果这是不正确的位置,我深表歉意 - 如果是,请移动它!在过去的几个小时里,我一直在尝试提出一个返回以下信息的查询:
过去三个月(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 的帖子
如果有人能提供帮助,我将非常感激。
谢谢。
【问题讨论】:
-
@bluefeet 但这是一个编程问题...
-
bluefeet:数据源应该不是问题。我已经发布了我的数据结构(由 stackexchange 决定)和我的查询,并请求帮助进入下一步。
标签: mysql sql database stackexchange dataexplorer