mysql - MySQL从第一列中选择第二列中具有特定值的所有值
问题描述
我有一个 2 列的 mysql 表。
+---------+-----------+
| Barcode | StationID |
+---------+-----------+
| 89411 | 1 |
| 89411 | 2 |
| 89411 | 3 |
| 89412 | 1 |
| 89413 | 1 |
+---------+-----------+
我想从 Barcode 列中选择所有 StationID = 1 且 StationID 不不同于 1 的值。
如图所示,条形码 89411 以不同的 StationID 出现 3 次,应从结果中排除。
你能帮我查询一下吗?
解决方案
另一种方法是使用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);
演示
推荐阅读
- c# - 从另一个项目导入 .proto 文件
- javascript - 如何从 JavaScript 传递数据以在 Laravel 中执行数学运算
- sql - Oracle 查询调优建议
- oracle - 使用 postgres oracle_fdw 成功使用比较运算符
- spring - 如何将多个参数作为列表传递到 JDBC 模板中
- android - 从 Android 中的属性文件显示不同的语言内容
- spring - 如何在spring集成http入站网关中使用spring security
- javascript - 条卡元素中 CVV 编号的密码掩码
- r - 使用 TimeSeries_Generator 进行 LSTM 时间序列预测
- elasticsearch - Elasticsearch:访问由 filebeat 创建的多个索引