我有一张桌子如下
id key value section
-----------------------------------
CT1 | A | 25 | M-2
CT1 | B | 35 | M-1
CT2 | A | 70 | M-1
CT2 | C | 30 | M-2
CT2 | D | 20 | M-3
CT3 | B | 40 | M-2
CT3 | A | 15 | M-1
CT4 | B | 25 | M-1
CT4 | D | 25 | M-2
我需要一种方法来返回没有特定密钥的所有ids。例如:
没有‘D’的Ids : CT1,CT3,
是否可以从MySQL查询中获取此结果?我也找过以前的问题。什么都找不到。
发布于 2016-09-28 13:39:38
可以在HAVING子句中使用分组:
SELECT id
FROM mytable
GROUP BY id
HAVING COUNT(CASE WHEN key = 'D' THEN 1 END) = 0 发布于 2016-09-28 13:41:29
从YOURTABLE选择ID,其中键不是IN (从YOURTABLE选择键)
发布于 2016-09-28 13:44:39
使用
SELECT id FROM table GROUP BY id HAVING count(key in ('D'))=0可以更改或向列表中添加一些元素,以排除一个或多个ids。
https://stackoverflow.com/questions/39749189
复制相似问题