我的桌子如下:
ID type
12 1
13 2
12 1
14 1
15 1
15 2
16 1
14 3
该ID可能会重复。 我需要获取所有类型为1的ID,但没有其他类型为<> 1的记录 因此结果将是:
12
16
什么是正确的方法?
答案 0 :(得分:1)
聚集可能是最简单的方法:
SELECT ID
FROM yourTable
GROUP BY ID
HAVING MIN(type) = MAX(type) AND MIN(type) = 1;
我们也可以尝试使用自我加入方法:
SELECT DISTINCT t1.ID
FROM yourTable t1
LEFT JOIN yourTable t2
ON t1.ID = t2.ID AND
t2.type <> 1
WHERE
t1.type = 1 AND
t2.ID IS NULL;
该演示用于第二个自联接查询,但是您也可以将第一个查询插入相同的演示以进行尝试。