SQL 取出满足条件的最新一条数据
场景是查出某手机号最新一条订单匹配到的所有优惠活动。 订单表中有手机号,订单活动表与订单表通过order_no匹配。
经过实践下面的写法效率比较高,比按时间排序快得多。而且子查询只返回一条结果,对内存的占用也比较好。
select *
from o_order_act
where ORDER_NO =
(select ORDER_NO
from o_order
where o_order.APPLY_TIME = (SELECT MAX(APPLY_TIME) as APPLY_TIME from o_order where MOBILE = '18012344321'));