小弟正实现一个年报表.需要按时间字段统计每个月份的数据.请问plsql语句应该怎么写?
比如,
select * from myTable t 
where t.datetime = ?????????谢谢

解决方案 »

  1.   

    select sum(co1) from myTable 
    group by to_char(datetime,'yyyymm')
      

  2.   

    select to_char(datetime,'yyyymm') ,sum(col) from table 
    where to_char(datetime,'yyyymm') between 200501 and 200512
    group by to_char(datetime,'yyyymm')
      

  3.   

    嗯,group by 月份 然后取相应字段的sum值就行了
      

  4.   

    谢谢各位热心的朋友。
    field:  id datetime name num
    我的解决方案是:根据日期(月份)查到的结果。填充到一个数组里面。数组暂且这么表示 array12,name_len)num 。不知道有没有方法在SQL语句实现?
      

  5.   

    设DateTime列格式为2006-01-01(Varchar2)
    select
    substr(datetime,1,4),
    sum(decode(substr(datetime,6,2),'01',num,0)),
    sum(decode(substr(datetime,6,2),'02',num,0)),
    sum(decode(substr(datetime,6,2),'03',num,0)),
    sum(decode(substr(datetime,6,2),'04',num,0)),
    sum(decode(substr(datetime,6,2),'05',num,0)),
    sum(decode(substr(datetime,6,2),'06',num,0)),
    sum(decode(substr(datetime,6,2),'07',num,0)),
    sum(decode(substr(datetime,6,2),'08',num,0)),
    sum(decode(substr(datetime,6,2),'09',num,0)),
    sum(decode(substr(datetime,6,2),'10',num,0)),
    sum(decode(substr(datetime,6,2),'11',num,0)),
    sum(decode(substr(datetime,6,2),'12',num,0)),
    from yourTable
    group by substr(datetime,1,4)
      

  6.   

    字段名称:  id,datetime,name,num数据:1,200501,name1,12
          2,200502,name2,1
          3,200504,name2,4
          4,200505,name2,1
          5,200509,name2,7
          6,200511,name2,6
          7,200512,name2,1
    填充为:
          1,200501,name1,12
          2,200502,name1,0
          3,200503,name1,0
          4,200504,name1,0
          ..
          12,200512,name1,0      13,200501,name2,0
          14,200502,name2,1
          15,200503,name2,4
          16,200504,name2,0
          ..SQL可否做到?
      

  7.   

    对! zlz_212() 非常好!接分咯~