mysql - SQL:当 PK 等于同一字段上两个不同行中的两个特定值时返回值

标签 mysql sql

我正在尝试返回相同 id 位于 23 和 12 中的行(这只是一个示例......我有 30K 记录)

ID: ASDJKGFJKBQGW Number:23
ID: ASDJKGFJKBQGW Number:12
ID: ASDJKGFJKBQGW Number:43
ID: ASDJKGFJKBQGW Number:67
ID: ASDJKGFJKBQGW Number:32

执行:从 Number=23 和 Number=12 不起作用的表中选择 *

我需要为 ID 声明一个变量并执行 while 循环吗?

While @ID is the same
select * from table where Number = 23 and Number = 12

谢谢

最佳答案

Select * from table1
Where number in (14,23) and id in(
Select id from table1 
Where number in (14,23)
Group by id
Having count(distinct number) = 2)

内部子查询使用having子句给出确切的行数2。与distinct一起你一定会得到这些行

关于mysql - SQL:当 PK 等于同一字段上两个不同行中的两个特定值时返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983515/

相关文章:

php - 在 SQL 查询结束时使用 implode 和 concatenate

mysql - 对于 JAVA 应用程序,MySql 服务器数据库中的 Aadhaar 卡号应该使用什么数据类型?

sql - 如何在不分块的情况下按周分组(查询 _trailing_ 4 周)

php - 有没有办法将数组元素插入mysql数据库

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

mysql - R Mysql dbconnect 参数

mysql - 本地 IP 与环回的数据库访问速度?

sql - 如何使用 T-SQL 组合多个不同长度的父子关系?

mysql - "cannot add foreign key constraint"

mysql - 按计数分组可能吗?