mysql - SQL 查询以查找所有记录的特定值

标签 mysql sql partitioning

Col1;Col2;Col3
12345;01;Y
12345;02;Y
12345;03;Y
22222;01;Y
22222;02;Y
22222;03;N
33333;01;N
44444;01;Y

在编写 SQL 查询以查找所有基于 col1 的值 = 'Y' 的记录时需要帮助。例如,输出选择 Col1 应将输出作为 12345 和 44444 [而不是 22222 和 33333,因为 col3 包含 'N'对于他们]

非常感谢您的宝贵时间

最佳答案

我猜你需要 col1,其中 col3 的所有值都应该是 Y

select col1
from demo
group by col1
having count(*) = sum(Col3 = 'Y')

Demo

或者如果 col3 只有 2 个可能的值,例如 Y/N,那么您可以将 having 子句简化为

having sum(Col3 = 'N') = 0

Demo

关于mysql - SQL 查询以查找所有记录的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50483770/

相关文章:

php - 使用 php 从变量中获取第五个值

php - 无法在服务器上使用 PHP 创建 MySQL 数据库?

php - symfony中的请求计数sql返回 bool 值而不是整数

mysql - 如何在 JOIN 语句的 WHERE 中使用 MySQL REGEXP

mysql - 查找 MYSQL 数据库中的顶级条目

mysql - mysql 分区查询语法错误

PostgreSQL 分区范围 - 奇怪的行为

mysql - hibernate和mysql分区

Java:在MySQL中高效存储Protobuf对象

java - Java/Mysql服务器程序中邮箱账号密码存储