mysql - 如何通过 data.stackexchange.com 获取每个标签的问题和答案?

标签 mysql sql database stackexchange dataexplorer

如果这是错误的位置,我深表歉意 - 如果是这样,请移动它!在过去的几个小时里,我一直在尝试提出一个将返回以下信息的查询:

过去三个月(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/

相关文章:

php - 仅获取表中重复项的最小值

sql - 添加跨年和跨月的累积值

database - 存储加密客户数据并为其编制索引的最佳方式是什么?

php - 如何使用 PHP 执行 SQL 文件并将数据插入数据库表

mysql - 按字母顺序显示查询

php - 我是 MySQL 新手,有什么办法可以使数据库受到损害吗?

php - 从其他表添加数据到表单+ Symfony2

SQL - 在特定数据范围之间选择同一天的记录

java - 从 JpaRepository native 查询返回字符串?

database - 以可能丢失数据为代价提高 PostgreSQL 写入速度?