首页 > 解决方案 > MySQL从第一列中选​​择第二列中具有特定值的所有值

问题描述

我有一个 2 列的 mysql 表。

+---------+-----------+
| Barcode | StationID |
+---------+-----------+
|   89411 |         1 |
|   89411 |         2 |
|   89411 |         3 |
|   89412 |         1 |
|   89413 |         1 |
+---------+-----------+

我想从 Barcode 列中选择所有 StationID = 1 且 StationID 不不同于 1 的值。

如图所示,条形码 89411 以不同的 StationID 出现 3 次,应从结果中排除。

你能帮我查询一下吗?

标签: mysql

解决方案


另一种方法是使用EXISTS查询:

SELECT t1.*
FROM yourTable t1
WHERE
    t1.StationID = 1 AND
    NOT EXISTS (SELECT 1 FROM yourTable t2
                WHERE t1.Barcode = t2.Barcode AND t2.StationID <> 1);

演示


推荐阅读