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

标签 sql sql-server-2005 tsql

使用表 i 和字段 date_entered 和 code,我编写了一个查询来列出每年的计数,其中 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 ROLLUPGROUP BY 之后的查询子句,你会得到一个额外的行,其中包含你的最终总数。

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

关于sql - T-SQL- 在单个查询中包含计数 (*) 的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540540/

相关文章:

java - 替代查询以加入两个单独的查询

mysql - 按日期间隔保存和查询行

sql - 如何组合/合并两个 SQL 查询结果中的列?

sql - 存储过程和 View 有什么区别?

sql-server - 比较 SQL Server 2005 中 DateTime 数据类型的时间部分

tsql - 在INSERT之后使用OUTPUT将标识列的值转换为(非表值)变量

sql-server - SQL Server 中的临时表 - 如果查询需要很长时间才能完成,则会发生错误

sql - 如何轻松地将列添加到临时表?

sql - 从 sql server 中的字符串转换日期和/或时间时转换失败

sql - 是否可以向临时表添加索引? create #t 和 declare @t 有什么区别