zoukankan      html  css  js  c++  java
  • Oracle以15分钟为界,统计一天内各时间段的数据笔数

    string sql = "select to_char(StartTime, 'yyyy')||'-'|| to_char(StartTime, 'mm')||'-'|| 
    to_char(StartTime, 'dd')||' '|| to_char(StartTime, 'hh24')||':'||
    floor(to_char(StartTime, 'mi')/15)*15 statime, sum(Count) as Counts from
    table where StartTime <= to_date('2016-11-29 18:00:00' ,'YYYY-MM-DD hh24:mi:ss')
    group by to_char(StartTime, 'yyyy')||'-'|| to_char(StartTime, 'mm')||'-'||
    to_char(StartTime, 'dd')||' '|| to_char(StartTime, 'hh24')||':'||
    floor(to_char(StartTime, 'mi')/15)*15 order by statime";
    string sql = "select to_char(StartTime, 'yyyy')||'-'|| to_char(StartTime, 'mm')||'-'||" +
                 "to_char(StartTime, 'dd')||' '|| to_char(StartTime, 'hh24')||':'|| " + 
                 "floor(to_char(StartTime, 'mi')/15)*15 statime, sum(Count) as Counts" + 
                 " from table " + 
                 "where StartTime <= to_date('2016-11-29 18:00:00' ,'YYYY-MM-DD hh24:mi:ss') " +
                 "group by to_char(StartTime, 'yyyy')||'-'|| " + 
                 "to_char(StartTime, 'mm')||'-'|| to_char(StartTime, 'dd')||' '|| " + 
                 "to_char(StartTime, 'hh24')||':'|| floor(to_char(StartTime, 'mi')/15)*15 order by statime";
    

    如上sql语句

    StartTime是其中的时间字段

    Count是汇总的字段,也可以count(*)统计记录数

    table是表名,自己替换

    也可以把15改成30,60等等需要统计汇总的分钟数

    同理,按天统计可以修改条件如下,按月年或其他都一样

    to_char(StartTime , 'yyyy')||'-'|| to_char(StartTime , 'mm')||'-'|| 

    floor(to_char(StartTime , 'dd')/1)*1 sj,

  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/jhlong/p/6244156.html
Copyright © 2011-2022 走看看