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

T-SQL-在单个查询中包含count(*)的总和

邴星洲
2023-03-14
问题内容

使用表i以及date_entered和code字段,我编写了一个查询以列出代码=‘12A’的每一年的计数。

select distinct year(date_entered) as Yr, count(*) as Cnt
from i
where code = '12A'
group by year(date_entered)
order by Yr desc

这将产生:

Yr   |    Cnt
2011   |  780
2010   |  3489
2009   |  3256
...

我想在结果集中包括Cnt变量的总和。我知道如何使用单独的查询来找到总和,但是我想在原始查询中计算总和。


问题答案:

WITH ROLLUP在该GROUP BY子句之后添加到查询中,您将获得一个额外的行,其中包含您的最终总数的NULL年。

select year(date_entered) as Yr, count(*) as Cnt
from i
where code = '12A'
group by year(date_entered)
with rollup
order by Yr desc


 类似资料:
  • 问题内容: 我想同时计算一个表中的记录总数和符合某些条件的记录总数。我可以使用两个单独的查询来完成这些操作: 有没有一种方法可以将它们组合成一个查询,以便在一行中得到两个字段? 如果没有,我可以发出两个查询并将它们包装在一个事务中,以便它们保持一致,但是我希望使用一个查询来完成。 编辑:我最关心原子性;如果需要两个子SELECT语句就可以,只要某个地方有INSERT,它就不会使两个响应不一致。 编

  • 问题内容: 我正在处理包含3个表的数据库: 公司名单 他们出售的产品表 他们在每个日期提供的价格表 我在php中进行这样的查询,以生成在特定日期提供特定产品类型最低价格的公司列表。 这为我获取了我需要的数据,但是为了在PHP中实现寻呼机,我需要知道总共有多少家公司提供该产品。LIMIT表示我只看到前几个… 我尝试将SELECT子句更改为SELECT COUNT(a.id)或SELECT COUNT

  • 问题内容: 这是场景。有问题的列称为“ datein”,其类型为“ datetime”。我有三行,“ datein”的值为“ 2009-10-01 00:00:00.000”。为什么此查询返回上述行? 使用 返回相同的结果 问题答案: 千分之一秒的精度不足。尝试使用“ .997”。 MSDN DateTime文档 运行此命令,您将看到:

  • 问题内容: 我有一个表,它与其他表具有多个一对多的关系。假设主表是一个人,其他表则代表宠物,汽车和儿童。我想要一个查询,该查询返回人员的详细信息,他们拥有的宠物,汽车和儿童的数量,例如 做这个的最好方式是什么? 问题答案: 子查询分解(9i +): 使用内联视图:

  • 我有一个Spring Boot应用程序。在其中,我有一个SQL查询,需要创建一个子查询,内部将该子查询的结果与另一个表连接,然后从该内连接的结果中进行选择。但是很明显,JPA不允许您在OF子句中使用子查询(我假设既不使用JPQL也不使用Criteria API)。有没有办法绕过这个? 我考虑过将子查询的结果存储在一个临时实体中(理想情况下不创建可持久化到DB的表),然后从存储在这些实体中的数据中进

  • 主要内容:带有 SELECT 语句的子查询,带有 INSERT 语句的子查询,带有 UPDATE 语句的子查询,带有 DELETE 语句的子查询子查询与其他 SQL Server 查询一起使用并嵌入 WHERE 子句。子查询用于返回数据,在主问题中用作限制要检索的数据的条件。 子查询与语句 SELECT、INSERT、UPDATE 和 DELETE 一起使用,并带有运算符 、、、、、 和 等。 子查询遵循的规则很少 - 子查询括在括号中。 子查询包括 FROM 子句和 SELECT 子句。 子查