A表有 customer(String),createTime(DATE YYYY-MM-DD HH24:MI:SS),totalQty(Double)三个字段假设我想知道所有客户每天(YYYY-MM-DD)totalQty的总数,应该如何做呢?

解决方案 »

  1.   

    select to_char(createTime,'yyyy-mm-dd') createTime, sum(totalQty) otalQty from A group by to_char(createTime,'yyyy-mm-dd')
      

  2.   

    --以下为部分示例.按时间分组求和ID      INPUT_DATE              NUM
    --      ------------------      ---
    1 2007-9-29 9:52:53 10
    2 2007-9-29 9:53:16 20
    3 2007-9-29 9:53:32 30
    4 2007-9-29 9:53:41 40
    5 2007-9-29 9:53:52 50
    6 2007-9-28 9:00:00 60
    7 2007-9-28 9:01:00 70
    8 2007-9-28 9:02:00 80
    9 2007-9-28 10:00:00 901、对上述数据按日期求和,结果如下:
    日期              NUM
    ---------- ----------
    2007-09-28        300
    2007-09-29        150
    --sql语句
    select to_char(input_date,'yyyy-mm-dd') 日期 , sum(num) num 
    from jh01 
    group by to_char(input_date,'yyyy-mm-dd')--结果
    /*
    日期              NUM
    ---------- ----------
    2007-09-28        300
    2007-09-29        150
    2 rows selected
    */2、对数据按每天每小时求和,结果如下:
    日期                 NUM
    ------------- ----------
    2007-09-28 09        210
    2007-09-28 10         90
    2007-09-29 09        150--sql语句
    select to_char(input_date,'yyyy-mm-dd hh24') 日期 , sum(num) num 
    from jh01 
    group by to_char(input_date,'yyyy-mm-dd hh24')--结果
    /*
    日期                 NUM
    ------------- ----------
    2007-09-28 09        210
    2007-09-28 10         90
    2007-09-29 09        150
    3 rows selected
    */3.按日期取num最大值的记录ID INPUT_DATE NUM
    -- ---------- ---
    9  2007-09-28 90
    5  2007-09-29 50--sql
    select a.id , to_char(a.input_date,'yyyy-mm-dd') input_date,a.num from jh01 a,
    (
      select to_char(input_date,'yyyy-mm-dd') input_date, max(num) num 
      from jh01 
      group by to_char(input_date,'yyyy-mm-dd')
    ) b
    where to_char(a.input_date,'yyyy-mm-dd') = b.input_date and a.num = b.num  /*
    ID INPUT_DATE NUM
    -- ---------- ---
    9  2007-09-28 90
    5  2007-09-29 50
    2 rows selected
    */
      

  3.   


    select customer,to_char(createTime,'YYYY-MM-DD') createTime ,sum(totalQty)totalQty
    from tb 
    group by customer,to_char(createTime,'YYYY-MM-DD');
      

  4.   

    所有客户就不加customer分组了
    select to_char(createTime,'YYYY-MM-DD') 日期 ,sum(totalQty)totalQty 
    from tb 
    group by to_char(createTime,'YYYY-MM-DD');