现在有张表:
 test01
 日期            数量1   数量2   数量3
 2005-4-20         5      6       7
 2005-4-20         6      8       70
 2006-4-1          5      3       21
 2006-4-1          3      4       2
 2006-4-2          2      4       5用一条sql语句成为
 日期            数量1   数量2   数量3
2005-4-20        11       14      77
2006-4-1         8        7       23
2006-4-2         2        4       5

解决方案 »

  1.   

    select 日期,sum(nvl(数量1,0)) as "数量1",sum(nvl(数量2,0)) as "数量2",sum(nvl(数量3,0)) as "数量3" from  test01 group by 日期 order by 日期
      

  2.   

    谢谢1楼的兄弟,我已经搞定,开始就是不知道哪个vnl这个函数
    谢谢
      

  3.   

    select sum(数量1),sum(数量2),sum(数量3) from table group by 日期
      

  4.   

    我也是新手select 后面的字段 要么在分组函数中,要么在Group by 后面的字段中人人都是从新手走过来的。
      

  5.   

    请教各位大侠一sql语句
    表 person  
    no  name   sex   
    1   张三   男
    2   李四   女表二  list
    no  name  sez  fee
    1   张三  男   500  要得到结果:
    no  name  sex  fee
    1   张三  男   500
    2   李四  女   0sql语句该怎么写啊!!!!
      

  6.   

    select a.no,a.name,a.sex,nvl(b.fee,0) as fee
    from person a
    left join list b
    on a.no=b.no
      

  7.   

    select 日期,
     sum(case when 1 = 1 then 数量1 else 0 end) 数量1,
     sum(case when 1 = 1 then 数量2 else 0 end) 数量2,
     sum(case when 1 = 1 then 数量3 else 0 end) 数量3
     from 表
    where 1 = 1
    group by 日期
    -- group by 日期 无合计
    -- group by cube(日期) 出现顶行合计
    -- group by rollup(日期) 出现底行合计
    order by 日期-- where 1 = 1处,可以加上公共条件
    -- case when 1 = 1处,还可以加上行的特定条件。
      

  8.   

    select 日期,sum(nvl(数量1,0)) as "数量1",sum(nvl(数量2,0)) as "数量2",sum(nvl(数量3,0)) as "数量3" from  test01 group by 日期 order by 日期