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

MySQL查询需求:获取无ort=gemeinde记录的PLZ值

查询无任何ort=gemeinde记录的PLZ列表

需求说明

需要筛选出这样的PLZ:该PLZ对应的所有数据行中,不存在任何一条记录的ort等于gemeinde(即该PLZ下所有记录的ort都不等于gemeinde)。以示例数据为例,仅PLZ 2000符合条件,因为PLZ 1000存在ort=gemeinde的记录。

示例数据表

plzortgemeinde
1000uttenthalbuchkirchen
1000buchkirchenbuchkirchen
2000mistelbachbuchkirchen
2000unterholzbuchkirchen

解决方案SQL

方法1:GROUP BY + HAVING(易懂,适合新手)

SELECT plz
FROM 你的表名
GROUP BY plz
HAVING COUNT(CASE WHEN ort = gemeinde THEN 1 END) = 0;

方法2:NOT EXISTS(逻辑直观)

SELECT DISTINCT plz
FROM 你的表名 t1
WHERE NOT EXISTS (
    SELECT 1
    FROM 你的表名 t2
    WHERE t2.plz = t1.plz
      AND t2.ort = t2.gemeinde
);

语句解释

  • 方法1:

    1. GROUP BY plz:将相同PLZ的记录归为一组
    2. COUNT(CASE WHEN ort = gemeinde THEN 1 END):统计每个PLZ分组里,ort=gemeinde的记录数量
    3. HAVING ... =0:只保留统计数为0的PLZ,也就是没有任何ort=gemeinde记录的PLZ
  • 方法2:

    1. SELECT DISTINCT plz:避免重复输出同一个PLZ
    2. NOT EXISTS(...):检查当前PLZ是否不存在任何ort=gemeinde的记录,不存在则保留该PLZ

注意事项

把语句里的你的表名替换成实际的表名称即可运行。

内容的提问来源于stack exchange,提问作者Christian Krätschmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:52:34