1.统计某天24小时中,每个小时段的订单数:
select
count(*),
to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24')
from b2c_order_head
where create_dt like '2014-02-06%'
group by to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24')
order by to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'),
'yyyy-mm-dd hh24')
注意:
1.其中create_dt和'yyyy-mm-dd hh24:mi:ss' 必须是对应的
2.select中除了统计字段count(...),其他字段必须与group by的字段一致,
3.order by 总是写到SQL的最后,且分组查询中order by的字段只能是select的字段
4.分组前过滤用where,放到from 后,分组后过滤用having,放到 group by 后
2.统计某天24小时中,每个小时段的订单金额:
select sum(order_amt),to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24')
from b2c_order_head
where create_dt like '2014-02-06%'
group by to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'),
'yyyy-mm-dd hh24')
order by to_char(to_date(create_dt, 'yyyy-mm-dd hh24:mi:ss'),
'yyyy-mm-dd hh24')