发布时间:2024-05-05 16:01
场景:一个运单,如果可以多次入库,就会有多条入库记录的日志
需求:现在需要获取最新的那一条入库记录的日志
SELECT *
FROM tms_waybill_log log
WHERE log.id = (
SELECT MAX(id) FROM tms_waybill_log
WHERE dr = 0
AND waybill_id = 125
AND waybill_status = 1010
)
ORDER BY
将其倒序排序,然后取出第一条,就是最新的ORDER BY
时,会先执行WHERE
,过滤出一些数据,然后再对这些数据进行排序,如果过滤出的数据比较多,那么效率就比较低,如果过滤出的数据比较少,那么几乎没什么影响,效率很快SELECT *
FROM tms_waybill_log log
WHERE log.dr = 0
AND log.waybill_id = 125
AND log.waybill_status = 1010
ORDER BY log.id DESC
LIMIT 1
若有其它方法,欢迎底部留言探讨哦!