mysql - MySql:如何选择所有值都相同的行?
问题描述
我有一张这样的桌子:
name |id | state
name1 12 4
name1 12 4
name2 33 3
name2 33 4
...
我想从状态仅为4 的表中选择每个名称和 ID,这意味着name1是正确的,因为它只有两条状态为 4 的记录,仅此而已。同时name2是错误的,因为它有状态4的记录和状态3的记录。
解决方案
您可以使用聚合,如下所示:
SELECT name, id
FROM your_table
GROUP BY name, id
HAVING SUM(state<>4)=0;
请参阅SQL Fiddle 上的演示。
推荐阅读
- terraform - 如何在 Terraform 模板文件变量中使用 Bash 命令?
- java - 当我在另一个应用程序中键入时,我的 Java 程序没有发出声音
- excel - 如何取消查找/替换提示的对话框?
- javascript - 有没有办法在没有实例的情况下获取 css 类的值?
- android - 如果我的应用程序被选为默认拨号器应用程序。是否可以有意在拨号器中显示呼叫
- node.js - 如何使用 NodeJS 编写大型随机二进制文件
- micronaut - 如何获取 JSR-330 注释的外部类的注入实例
- python - 使用元素组作为标题的旧数据框
- php - 使用 PHP 调用要在表格中显示的数组
- sql - 获取连接到 SQL Server 的客户端应用程序名称