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

如何获取另一数据库表中出现次数最少的数据?附指定Agent的订单数统计特殊规则

获取订单数最少的Agent(含强制统计Agent D规则)

针对你的需求,我会结合特殊规则给出具体的实现方案,直接解决你的问题:

核心逻辑先理清

  • 第一步先确认Agent D是否在table B中有订单记录
  • 要是没有,直接返回Agent D就行
  • 要是有,就统计所有Agent的订单总数,选出订单数最少的那个(如果有多个Agent订单数相同且都是最小值,我会说明怎么处理这种情况)

具体SQL实现

方法1:用CTE(通用表表达式,适合PostgreSQL、MySQL 8.0+、SQL Server等支持CTE的数据库)

WITH agent_order_counts AS (
    -- 先统计所有Agent的订单数量
    SELECT agent_name, COUNT(*) AS order_count
    FROM table_b
    GROUP BY agent_name
),
agent_d_check AS (
    -- 检查Agent D是否存在于统计结果中
    SELECT 1 AS exists_flag
    FROM agent_order_counts
    WHERE agent_name = 'Agent D'
)
-- 根据检查结果返回对应Agent
SELECT 
    CASE 
        WHEN (SELECT exists_flag FROM agent_d_check) IS NULL THEN 'Agent D'
        ELSE (
            SELECT agent_name
            FROM agent_order_counts
            WHERE order_count = (SELECT MIN(order_count) FROM agent_order_counts)
            -- 如果多个Agent订单数相同且都是最少,取消下面注释可按名称取第一个
            -- ORDER BY agent_name LIMIT 1
        )
    END AS least_order_agent;

方法2:兼容低版本数据库(不支持CTE的场景)

SELECT 
    CASE 
        WHEN NOT EXISTS (SELECT 1 FROM table_b WHERE agent_name = 'Agent D') THEN 'Agent D'
        ELSE (
            SELECT agent_name
            FROM (
                SELECT agent_name, COUNT(*) AS order_count
                FROM table_b
                GROUP BY agent_name
            ) AS count_result
            WHERE order_count = (SELECT MIN(order_count) FROM (
                SELECT COUNT(*) AS order_count
                FROM table_b
                GROUP BY agent_name
            ) AS min_count)
            -- 同样,处理多Agent同最小值的情况,可取消下面注释
            -- ORDER BY agent_name LIMIT 1
        )
    END AS least_order_agent;

补充说明

  • 要是出现多个Agent订单数相同且都是最小值的情况,上面的SQL会返回所有符合条件的Agent;如果你只需要其中一个,根据你的数据库类型调整取第一条的语法:MySQL用LIMIT 1,SQL Server用TOP 1,Oracle用ROWNUM = 1,记得配合ORDER BY指定排序规则
  • 注意agent_name字段的取值要和你实际的Agent D名称完全匹配(比如大小写、空格这类细节)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:59:07