记录数据如下IngestTime               IngestTimeLength
--------------------------------------------------------
2002-08-04 18:18:09            39
2002-08-04 18:52:09            32
2002-08-04 18:59:09            100
2002-08-05 18:21:52            688
2002-08-05 18:34:52            688
2002-08-05 18:45:52            444
2002-08-06 17:06:24            489
2002-08-06 17:34:24            66我想将以上数据按 年、月、日进行分组求和统计,怎么办阿?
如下程序
select sum(IngestTimeLength) as IngestTimeLength from IngestTime where IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by IngestTime
分组无效!!!哪位大侠肯帮忙?ORACLE里好像没有这方面的函数!!!

解决方案 »

  1.   

    需要说明一下,IngestTime字段为 VARCHAR2 类型的
      

  2.   

    select sum(ingesttimelength) as year from ingesttime where
    IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by substr(IngestTime,1,4) select sum(ingesttimelength) as month from ingesttime where
    IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by substr(IngestTime,1,7) select sum(ingesttimelength) as day from ingesttime where
    IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by substr(IngestTime,1,10) 
      

  3.   

    这样就可以了:试试
    select sum(IngestTimeLength) as IngestTimeLength from IngestTime where IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by substr(IngestTime,1,4),substr(IngestTime,6,7),substr(IngestTime,9,10)
      

  4.   

    这样就可以了:试试
    select sum(IngestTimeLength) as IngestTimeLength from IngestTime where IngestTime between  '2002-08-02 00:00:00' and '2002-08-14 00:00:00' group by substr(IngestTime,1,4),substr(IngestTime,6,7),substr(IngestTime,9,10)