当前位置: 首页 > 面试题库 >

结合两个按月计数的查询

邵绪
2023-03-14
问题内容

受此问题的启发,我在Stack Exchange DataExplorer上编写了两个查询,一个查询统计了SO上每月提出的问题总数,另一个查询了Month颁发的赏金。如何合并它们,以便在一个查询中获得输出?我想在一份报告中查看年,月,问题,赏金和金额。

问题记录在PostTypeId = 1的Posts表中,但赏金记录在VoteTypeId = 9的Votes表中。


问题答案:

我是在记事本中写的,还没有在SO上与数据资源管理器一起工作。

select Isnull(V.Year, P.Year) As Year,
Isnull(V.Month, P.Month) As Month,
Isnull(V.Bounties, 0) As Bounties,
Isnull(V.Amount,0) As Amount ,
P.Questions
FROM
(
select
datepart(year, Posts.CreationDate) Year,
datepart(month, Posts.CreationDate) Month,
count(Posts.Id) Questions
from Posts
where PostTypeid = 1 -- 1 = Question
group by datepart(year, Posts.CreationDate), datepart(month, Posts.CreationDate)
) AS P
left JOIN
(
select
datepart(year, Votes.CreationDate) Year,
datepart(month, Votes.CreationDate) Month,
count(Votes.Id) Bounties,
sum(Votes.BountyAmount) Amount
from Votes
where VoteTypeId = 9 -- 9 = BountyAwarded
group by datepart(year, Votes.CreationDate), datepart(month, Votes.CreationDate)
) AS V
ON P.Year = V.Year AND P.Month = V.Month
order by P.Year, P.Month


 类似资料:
  • 问题内容: 在SQL中按月将一列中的1-12连接到一堆计数的好方法是什么?…在​​SQL中 最终会像 编辑-基本上是一种获取我的月份列表/表格/任何内容的巧妙方法 问题答案: 许多方法…在上一份工作中对许多应用程序来说对我来说效果很好的一种方法是建立时间表。 然后,您可以将其日期字段放在startstamp和endstamp之间的timeframes表中进行联接。 这样可以很容易地拉出某个时间段或

  • 问题内容: 我有一个库存表,我想创建一个报告,以显示订购商品的频率。 “库存”表: 基本上,我需要将这两个查询结合在一起。 查询打印库存余额: 打印销售统计信息的查询 我认为某种JOIN可以完成这项工作,但我不知道如何将查询粘合在一起。 所需的输出: 这仅是示例。也许我将需要添加更多条件,因为有更多列。是否存在将多个查询组合在一起的通用技术? 问题答案:

  • 问题内容: 查询1: 查询2: 我想将两个结果合并为两列,其中缺少一列=查询2-查询1以加快处理速度。我该怎么做?示例: 我有两个结果: // ----------------------------------------查询:1 1 2 3 4 // --------------------------------------查询:2 4 5 6 8 // ------------------

  • 问题内容: 我有一个看起来像这样的表: 这就是我想要做的: 如果号码已经在数据库中,请不要插入新记录。 如果编号不在数据库中,但名称在数据库中,则创建一个新名称并将其插入。因此,例如,如果我有一个包含for和for的记录,我不想插入它,但是如果我得到一个包含for和for的记录,我会插入and 。我本来要检查重复项,例如: 有没有办法将两个语句组合在一起? 问题答案: 您的问题实际上有两个问题。第

  • 请告诉我如何在HQL中请求两个计数的总和,以便Hibernate能够解析和执行。Mysql接受以下内容,但我希望避免使用本机SQL: 但是Hibernate 5.3.9中的HQL解析器拒绝了这一点: 基本上与如何在hibernate中为count(*)和+(addition)编写查询相同,但没有HQL答案。 我只是想避免去数据库的两次往返,想在一次旅行中得到总和。也许没有本机查询是不可能的?提前谢

  • 在索引上合并是不好的做法吗?不可能吗?如果是,如何将索引转换为名为“index”的新列?