mysql 作为常用数据库,操作贼六是必须的,对于数字操作相关的东西,那是相当方便,本节就来拎几个统计案例出来供参考!
order订单表,样例如下:
() unsigned ` () () () ` (,) `userid` (`InnoDB;
1. 按天统计进单量,date_format
DATE_FORMAT(t.`create_time`,) t_date,() t_count t_order t t.`create_time` DATE_FORMAT(t.`create_time`,);
2. 按小时统计进单量
DATE_FORMAT(t.`create_time`,) t_hour,);
3. 同比昨天进单量对比,order by h,date
DATE_FORMAT(t.`create_time`,) t_date, DATE_FORMAT(t.`create_time`,),DATE_FORMAT(t.`create_time`,);
4. 环比上周同小时进单,date in ,order by
DATE_FORMAT(t.`create_time`,() t_count t_order t ) (,) DATE_FORMAT(t.`create_time`,);
5. 按照remark字段中的返回值进行统计,group by remark like ...
DATE_FORMAT(t.`create_time`,() t_count,SUBSTRING_INDEX(SUBSTRING_INDEX(t.`msg`,,),,) t_rsp_msg t.`create_time` t.`rsp_msg`
DATE_FORMAT(t.`create_time`,),SUBSTRING_INDEX(SUBSTRING_INDEX(t.`rsp_msg`,);
6. 统计每小时的各金额的区间数统计,sum if 1 0,各自统计
DATE_FORMAT(t.create_time,((t.`amount` t.`amount`,,)) t_0_1000,((t.`amount` t.`amount`,)) t_1_5000,((t.`amount`,)) t_5000m t_order t t.`create_time` DATE_FORMAT(t.`create_time`,);
7. 按半小时统计进单量,floor h / 30,同理10分钟,20分钟
CONCAT(DATE_FORMAT(create_time,((DATE_FORMAT(create_time,) ) ,,)) time_scope,( t_order create_time DATE_FORMAT(create_time,),DATE_FORMAT(create_time,) ;
8. 成功率,失败率,临时表 join on hour
DATE_FORMAT(t.`create_time`,() t_order t t.`create_time` DATE_FORMAT(t.`create_time`, DATE_FORMAT(t.`create_time`,() t_order t t.`create_time` DATE_FORMAT(t.`create_time`,)) t2 t1.t_datet2.t_date;
9. 更新日志表中最后条一条日志状态值到信息表中状态,update a join b on xx set a.status=b.status where tmp group by userid tmp2,注意索引
t_order t0 ( ( t_order_log t t.create_time id ) t1 t1. ) t.t2. t0.`status`t2.status t0.`create_time` t0.`status`;
10. 备份表,create table as select xxx where xxx
t_m t_order;
11. 纯改备注不锁表,快,类型全一致
12. 动态查询环比上周数据
DATE_FORMAT(t.create_time,() `t_order` t t.`create_time` (t.`create_time` DATE_SUB(CURDATE(),INTERVAL ) t.`create_time` DATE_SUB(CURDATE(),INTERVAL DATE_FORMAT(t.create_time,DATE_FORMAT(t.create_time,);
结果如之前环比,只是不用每次变换日期以迎合不同的时间查询,同理可能同比昨天的数据问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。