You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL如何仅查询各订单最新版本中指定类型的订单ID

解决方案

可以用单条SQL语句实现需求,核心思路是先筛选出每个订单的最新版本记录,再从中匹配指定的type值:

SELECT r.id_order
FROM revisions r
INNER JOIN (
    SELECT id_order, MAX(id) AS latest_rev_id
    FROM revisions
    GROUP BY id_order
) latest_r ON r.id = latest_r.latest_rev_id
WHERE r.type LIKE '%wheel%';

逻辑说明

  1. 子查询latest_r通过GROUP BY id_order对订单分组,用MAX(id)获取每个订单对应的最新版本ID(默认revisions.id递增代表版本更新顺序,符合你提供的数据规律)。
  2. 将主表revisions与子查询结果关联,仅保留每个订单的最新版本记录。
  3. 最后通过WHERE子句筛选出type匹配目标值的订单ID。

执行该语句后,只会返回订单3的ID,完全符合你的需求。


内容的提问来源于stack exchange,提问作者JozefVasko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:37:34