mysql - sql - 查询多行

标签 mysql sql

我有一个包含名称的表和一个位列,指示名称是删除 (1) 还是未删除 (0)。我正在尝试编写一个查询,返回所有已删除的名称,除非该名称也未被删除(一个名称可能在表中出现多次)。希望这是有道理的!

这是一些示例数据:

+------+-------+
|Name  |Deleted|
+------+-------+
|Bob   |   1   |
+------+-------+
|Joe   |   1   |
+------+-------+
|Joe   |   0   |
+------+-------+
|Bob   |   1   |
+------+-------+
|Sam   |   1   |
+------+-------+

所以结果将是 BobSam:
两个“Bob”条目都是“1”。
单个 Sam 条目为“1”。

Joe 不会出现在结果中,因为他既是“1”又是“0”。

感谢您的帮助!

最佳答案

一种方法使用聚合:

select name
from t
group by name
having min(deleted) = 1;

关于mysql - sql - 查询多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45224624/

相关文章:

SQL查询组和有

mysql - 如何在mysql中选择带有逗号和单引号字符串的行?

mysql - 在 MySQL 中存储多行数据的最佳方式?

php - 警告 : mysql_fetch_array() expects parameter 1 to be resource, 中给出的 bool 值

PHP:如何在生成器函数后进行清理

sql - UPSERT 功能的存储过程

mysql - MySql 中的 FULL OUTER JOIN 问题

sql - 在给定特定条件 SQL 的情况下,仅对不同的值求和

sql - 按名称查找所有数据库对象?

php - MySQL的插入查询在PHP失败