mysql 查询该门店每天最晚的工单
例如:work_order 表名 create_time 为创建时间 id 主键ID,store_code 门店编码
查询指定时间内的每天最晚工单 信息
- work_order表结构
id work_order_number store_code create_time(timestamp类型) ...
1 DY202404120002 3101130005 2024-04-12 09:39:07
2 DY202404120003 3101130005 2024-04-12 11:20:01
3 DY202404130004 3101130005 2024-04-12 11:32:30
4 DY202404140005 3101130007 2024-04-12 11:32:30
4 DY202404140006 3101130007 2024-04-13 15:30:30
select wo.*
from work_order wo INNER JOIN (
SELECT MAX(id) as id,max(create_time)
FROM work_order
WHERE store_code = '3101130005' and DATE(create_time) between '2024-04-01' and '2024-04-30' GROUP BY DATE(create_time)
) as w on w.id = wo.id
查询前七天每天最晚时间
SELECT * FROM `work_order` WHERE id IN (
SELECT MAX(id) FROM `work_order`
WHERE create_time BETWEEN ADDDATE(DATE_FORMAT(NOW() ,"%Y-%m-%d"), INTERVAL -6 DAY) AND DATE_FORMAT(NOW(),'%Y-%m-%d')
GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')
)
查询前七天的sql 借鉴于下面的, 原理差不多, 记录下
https://zhidao.baidu.com/question/179399915597543724.html
总结
提示:通过group by 对时间分组, max函数再取最大的主键id, 外查询根据主键id 获取工单信息