一个表有两个字段日期        合计
1890-1-1   10
1980-1-2    9
   .       .
   .       .
   .       .
   .       .
2008-12-31  55现在要查询各日合计,还同时能将各年合计值也能一并返回,该如何写这个SQL语句呢?
ROLLUP和Compute都还在研究中,还没有搞清楚

解决方案 »

  1.   

    select [日期]=convert(varchar(10),日期,120),[合计]=sum(值) from Table1 group by convert(varchar(10),日期,120)
      

  2.   

    各日統計 
    select 日期       , sum(合计) from tb group by 日期
    各年統計
    select convert(varchar(4),日期,120),sum(合计) group by convert(varchar(4),日期,120)
      

  3.   

    看聯機幫助有例子和說明select 
    *
    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 [日期],[合计]
      

  4.   


    兄弟,怎么有点问题,能不能再帮一把,日期是dateTime的,执行是返回如下信息
    服务器: 消息 207,级别 16,状态 3,行 1
    列名 '值' 无效。
    服务器: 消息 207,级别 16,状态 1,行 1
    列名 '值' 无效。
      

  5.   


    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
      

  6.   

    我早上刚看了一阵rollup
    ,还没搞清楚,太好了,谢谢