mysql : select one id from multiple id which have multiple value

标签 mysql select

<分区>

+------+---------+
| id   | object  |
+------+---------+
| 1    |    1    |
| 1    |    2    |
| 1    |    3    |
| 2    |    1    |
| 2    |    3    |
| 2    |    4    |
| 3    |    5    |
| 3    |    3    |
| 3    |    4    |
+------+---------+

我想选择具有对象 1,2,3 的 id 但结果只是 id = 1,如果没有对象 1,2,3 则忽略另一个 id。 忽略只有对象 1 和 3 的 id 2,并忽略只有对象 3 的 id 3。

多谢高手帮助

最佳答案

GROUP BY/HAVING 可以帮助您找到所有 3 个都存在的 id;

SELECT id 
FROM Table1
WHERE object IN (1,2,3)
GROUP BY id
HAVING COUNT(DISTINCT object) = 3

An SQLfiddle to test with .

基本上它所做的是获取所有具有等于 1、2 或 3 的 object 的行,并返回 id,其中不同对象值的数量为 3。

关于mysql : select one id from multiple id which have multiple value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20841891/

相关文章:

MySQL IF 在 SELECT 子句中?

mysql - 部署到 Heroku 错误。提供日志

MySQL select 后跟子查询

mysql - 按查询返回一组预期的行数

javascript - 如何根据选定的选项文本选择 <select> 元素?

mysql - SQL 查询 - 返回特定值之前的所有值

php - 通过唯一编号定义用户

php - 如何按月对表中的值求和?

mysql - substring_index 不采用精确的前缀

php - 如何从 MySQL 中的另一个表过滤的一个表中选择行?