2009-6-1   1
2009-6-2   2
2009-10-2   1
最终想得到的结果是
2009-6 3
2009-10 1
如何实现,望指教

解决方案 »

  1.   

    select to_char(trunc(日期,'mm'),'yyyy-mm'), sum(数量)
    from 表
    group by trunc(日期,'mm');
      

  2.   


    with tmp as
    (
    select to_date('2009-6-1','yyyy-mm-dd') vdate, 1 amount from dual union all
    select to_date('2009-6-2','yyyy-mm-dd') vdate, 2 amount from dual union all
    select to_date('2009-10-2','yyyy-mm-dd') vdate, 1 amount from dual
    )
    select to_char(trunc(vdate,'mm'),'yyyy-mm') 月度, sum(amount) 总数
    from tmp
    group by trunc(vdate,'mm');月度                 总数
    ---------- ----------
    2009-06             3
    2009-10             1
      

  3.   

    select to_char(date_column,'yyyy-mm') as cdate, sum(数量)
    from table_name
    group by to_char(date_column,'yyyy-mm');
      

  4.   

    select to_char(trunc(vdate,'mm'),'yyyy-mm') 月度, sum(amount) 总数
    from tmp
    group by trunc(vdate,'mm');