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

如何系统识别同时包含'O'和'C'状态码的订单?

订单状态识别的简化实现方案
  • 核心逻辑:直接聚焦有效状态('O'和'C'),按订单编号分组后,判断组内是否同时存在这两种状态

  • SQL实现示例:

    SELECT order_id
    FROM order_records
    WHERE status IN ('O', 'C')
    GROUP BY order_id
    HAVING COUNT(DISTINCT status) = 2;
    
  • 步骤说明:

    1. 先过滤掉无关状态记录,只保留'O'和'C'的数据
    2. 按订单ID分组后,统计每组内唯一状态的数量
    3. 唯一状态数等于2的订单,就是同时包含两种目标状态的订单
  • Python Pandas实现示例:

    # 过滤仅含目标状态的记录
    valid_records = df[df['status'].isin(['O', 'C'])]
    # 分组统计唯一状态数,筛选符合条件的订单ID
    target_orders = valid_records.groupby('order_id')['status'].nunique()
    target_orders = target_orders[target_orders == 2].index.tolist()
    

对比原方案:无需新增列做标记求和,直接通过去重计数完成判断,代码更简洁,执行效率也更高,减少了不必要的中间计算步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 14:36:12