一个表有两个字段日期 合计
1890-1-1 10
1980-1-2 9
. .
. .
. .
. .
2008-12-31 55现在要查询各日合计,还同时能将各年合计值也能一并返回,该如何写这个SQL语句呢?
ROLLUP和Compute都还在研究中,还没有搞清楚
1890-1-1 10
1980-1-2 9
. .
. .
. .
. .
2008-12-31 55现在要查询各日合计,还同时能将各年合计值也能一并返回,该如何写这个SQL语句呢?
ROLLUP和Compute都还在研究中,还没有搞清楚
select 日期 , sum(合计) from tb group by 日期
各年統計
select convert(varchar(4),日期,120),sum(合计) group by convert(varchar(4),日期,120)
*
from
(select [日期]=convert(varchar(10),日期,120),[合计]=值 ,0 as ord from Table1
union all
select [日期]=convert(varchar(10),日期,120),[合计]=sum(值),1 as ord from Table1 group by convert(varchar(10),日期,120)
)T
order by [日期],[合计]
兄弟,怎么有点问题,能不能再帮一把,日期是dateTime的,执行是返回如下信息
服务器: 消息 207,级别 16,状态 3,行 1
列名 '值' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 '值' 无效。
create table #t
(
date datetime,
num int
)
insert #t select '1999-1-1',10
insert #t select '2000-1-1',10
insert #t select '2001-1-1',10
insert #t select '1999-12-1',30goselect
case when grouping(convert(char(4),date,121)) = 1 then '合计'
when grouping(date) = 1 then '合计'
else convert(char(4),date,121) end 年份,
date,
sum(num)
from #t
group by convert(char(4),date,121),date with rollup
,还没搞清楚,太好了,谢谢