用于选择列仅包含特定值的行的SQL查询
我有一个看起来像这样的表身份。
id child order_in_child
1 200 34
1 700 11
2 200 31
2 200 74
3 200 35
3 400 19
我想选择所有孩子都只有 200 的 ID 列表。
id
2
回答
使用聚合,我们可以尝试:
SELECT id
FROM identities
GROUP BY id
HAVING MIN(child) = MAX(child) AND MIN(child) = 200;
该HAVING子句的第一个条件断言给定的一id组记录只有一个child值。第二个条件断言该单个值是 200。