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

如何用SQL查询与指定ID_House列表全匹配的共同ID_Postman

SQL查询实现方案

核心思路

通过分组统计匹配目标房屋列表的去重房屋数量,判断是否等于列表总长度,筛选出关联所有目标房屋的快递员ID。

实现代码

假设你的数据表名为delivery_relation,可参考如下SQL编写:

SELECT ID_Postman
FROM delivery_relation
WHERE ID_House IN ('H1', 'H2', 'H3') -- 此处替换为你需要查询的ID_House列表
GROUP BY ID_Postman
HAVING COUNT(DISTINCT ID_House) = 3; -- 此处数值等于上述ID_House列表的元素总数

逻辑说明

  • WHERE 子句先过滤出所有和目标房屋列表相关的记录,排除无关数据
  • 按ID_Postman分组后,用COUNT(DISTINCT ID_House)统计每个快递员关联的不重复目标房屋数量
  • 只有计数等于目标列表总长度的快递员,才满足关联了列表内所有房屋的要求,会被返回

测试场景验证

  1. 当查询ID_House列表为[H1,H2,H3],总长度为3:
    过滤后P1关联的去重房屋为H1、H2、H3,计数等于3,符合条件返回P1,与需求一致。
  2. 当查询ID_House列表为[H1,H2,H4],总长度为3:
    过滤后P1仅关联H1、H2,计数为2;P3仅关联H4,计数为1,均不满足要求,返回空,符合需求。

注意事项

  • 如果你的表中存在同一个ID_Postman和ID_House组合有多条重复记录的情况(如示例中P1和H1存在2条关联记录),必须加DISTINCT去重统计,否则会导致计数错误
  • 如果业务上已经保证ID_Postman + ID_House组合唯一,可去掉DISTINCT提升查询性能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:57:00