![40aa0f0f1ec952c243ddc5471e570bf5.png](https://i-blog.csdnimg.cn/blog_migrate/380de84b83ce9d5b3f2134c8bafe28c7.jpeg)
假设某宝为鼓励大家双12买买买,奖励双十一那天订单最多的两位用户:分别是用户1:“剁手皇帝陈哈哈” 和 用户2:“触手怪刘大莉” 一人一万元;
需求1
:让你通过MySQL订单表,统计一下双11那天,这两位每小时的购买订单成交数;你会怎么写这条SQL呢?
记得几年前我刚接触MySQl,年少轻狂,在得知不用考虑效率的情况下,我写了个接口循环二十四遍,发送24条SQL去查(捂脸),由于那个接口,被技术经理嘲讽~~表示他写的SQL比我吃的米都多。虽然我们山东人基本不吃米饭,但我还是羞愧不已。。
然后经理通过调用一个DATE_FORMAT函数分组查询处理一下,就ok了,效率是我的几十倍吧。从那时起,我暗自计划要深入研究SQL技巧。
第二天,由于和朋友开黑打了两把王者,计划延后了几年~
![70e934cff9d753df51a12a285d4dc7bc.png](https://i-blog.csdnimg.cn/blog_migrate/2907c341955118fd673ca3a9eea61b06.png)
在MySQL中对于处理时间字段,有专门封装的DATE_FORMAT函数,可以说,DATE_FORMAT函数可以基本满足任何时间字段的处理需求。
DATE_FORMAT(date,format) 函数
参数解析:
- 1、date:代表具体时间字段,也可以为now()查询当前时间;
- 2、format:DATE_FORMAT将传来的Date类型数据转为自己需要的格式,如%Y-%m-%d %H:%i:%s会将传来的Time数据转为"yyyy-MM-dd HH:mm:ss"格式 <