表名logs 列为logsid,cardid,canteenid,machineid,consume,time.其中consume为number,time为varchar2(20).
下面为表中一项内容:
logsid cardid  canteenid  machineid    consume   time
1      1983    11         10           9         2010-4-7 16:10:33
time列中存的格式为年月日,后接时分秒。
现在我想查询每天的consume和。其实就是按time 空格前面的内容进行统计

解决方案 »

  1.   

    --查询指定天
    select sum(consume) from logs where trunc(to_date(time,'yyyy-mm-dd hh24:mi:ss'))=to_date('2010-4-7','yyyy-mm-dd')
    --按天分组统计
    select trunc(to_date(time,'yyyy-mm-dd hh24:mi:ss')),sum(consume) from logs group by trunc(to_date(time,'yyyy-mm-dd hh24:mi:ss'));
      

  2.   

    select substr(time,1,instr(time,' ',1,1))day,sum(consume) from logs group by substr(time,1,instr(time,' ',1,1))
      

  3.   

    根据你的稍改了一下:select to_char(to_date(time,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd'),sum(consume) from logs group by to_char(to_date(time,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd');