mysql - 查找具有相同列值的行

标签 mysql sql

如果第二个字段相同,我需要执行一个查询以根据第一个字段查找值

示例表:

id, what, why
1, 2, 2
2, 3, 4
3, 3, 2

所以我希望结果返回 2 和 3,因为它们都有 2 的原因。

但是原因 (2) 是未知的,所以我只知道什么(2 和 3)的组合是否具有相同的原因值。说得通?感谢您的帮助。

另一个例子可能更清楚

id, building, color
 1,   house,  white
 2,  garage,  red
 3,  garage,  white

我查询 where building = house 和 building = garage 并且只有当它们具有匹配的颜色时才会给出结果。

最佳答案

SELECT what
FROM YourTable A
WHERE EXISTS(SELECT 1 FROM YourTable
             WHERE what <> A.what 
             AND why = A.why)

Here is a demo

关于mysql - 查找具有相同列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990867/

相关文章:

mysql - Play Framework : Unable to Inject Database object

php - MySQL 与 FOREIGN KEYS 的多对多关系

mysql - 如何在 mysql 中连接两个表,但两者之间的日期不同?

php - 在 Joomla 中添加新文章时,DB 函数报告没有错误

php - 如何在php mysql中减去两个表

php - 自动换行不让数字也换行

MySQL:多列排序所需的索引

mysql - 如何合并 MySQL 数据库中的重复行、产品 ID 及其评级

asp.net - SqlDataSource 和存储过程调用问题

sql - 使用重复条目更新行