【发布时间】:2014-05-10 02:17:23
【问题描述】:
按县和季度查询总计。尝试在底部添加所有县的总计以及所有县的季度总计。
添加了汇总代码,但没有返回任何内容,表相同,没有总计
select isnull(convert(VARCHAR,DCOUNTYNAME),'GRAND TOTAL') AS County,
Year(DDATE) as Year, ---selects year value for total and quarter totals
count(*) as Total, ---counts year totals
sum(case when DATEPART(q, DDATE)=1 then 1 else 0 end) as Q1,
sum(case when DATEPART(q, DDATE)=2 then 1 else 0 end) as Q2,
sum(case when DATEPART(q, DDATE)=3 then 1 else 0 end) as Q3,
sum(case when DATEPART(q, DDATE)=4 then 1 else 0 end) as Q4
into #tfinal
from Cert
where FLAG = 'o' and year(cast(ddDate as date)) ='2013'
group by DCOUNTYNAME,
Year(DDATE) with rollup
现在的结果
County Year Total Q1 Q2 Q3 Q4
IMPERIAL 2013 129 5 20 100 4
FRESNO 2013 67 19 16 15 17
SAN DIEGO 2013 408 70 66 94 194
想要得到的结果
County Year Total Q1 Q2 Q3 Q4
IMPERIAL 2013 129 5 20 100 4
FRESNO 2013 67 19 16 15 17
SAN DIEGO 2013 408 70 66 94 194
Grand Total 595 94 106 209 215
【问题讨论】:
-
尝试删除
into #tfinal并看到它出现。 -
@Mihai:那为什么会有不同的表现呢?
-
我在我的数据库中尝试了一些非常相似的东西,它对我有用。如果您愿意提供带有 SQL Fiddle 的架构,也许我们可以提供帮助
-
@NePh 我在想 ROLLUP 可能会返回 NULL 所以它可能与他的表冲突。
-
@Mihai:由于临时表是与
SELECT ... INTO一起创建的,我认为它不会与它发生冲突。