日期 产量
2013/09/01 18:33:53 34
2013/09/01 16:33:53 34
2013/09/02 05:33:53 34
2013/09/03 16:33:53 34
2013/09/04 12:33:53 34
2013/09/05 10:33:53 34
2013/09/06 05:33:53 34
2013/09/07 01:33:53 34
2013/09/04 02:33:53 34
2013/09/07 03:33:53 34
2013/09/08 04:33:53 34
2013/09/03 09:33:53 34要求 按天进行汇总 产量
2013/09/01 654
2013/09/02 34
2013/09/04 2332问题难点在于量上 ,实际情况是工厂生产 计算产量
非按自然天0点至23点计算
而是 前一日的18点30分 至本日的 18点30分 为一天 计算
如 2013/09/01的产量汇总 应该为 2013/08/31 18:30 至 2013/09/31 18:30 累加如何写这样的SQL
group by to_char(日期-18.5/24,'yyyy/mm/dd')
(
select usertime, amount, case when to_char(usertime, 'hh24:mi')<='14:30' then to_char(usertime, 'yyyy/mm/dd') else to_char(usertime+1, 'yyyy/mm/dd') end qdate
from debug_info
)
group by qdate;供参考!
先用case when算出应该被统计入的日期列,然后再聚合~
select sum(产量) from tb1 t where t.日期 between to_date(2013-9-1-18-30,'yyyy-mm-dd-hh24-mI') and to_date(2013-9-2-18-30,'yyyy-mm-dd-hh24-mI')