MYsql:从多个id中选择一个具有多个值的id

时间:2013-12-30 14:51:43

标签: 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。

感谢您的帮助,掌握。

1 个答案:

答案 0 :(得分: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

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