我有一个如下所示的 mysql 表:
ID GROUP FILTER1 FILTER2
-- -- -------- --------
1 27 22337755 NULL
2 28 22337755 NULL
3 22 22337755 22337744
4 4 22337635 22337635
5 4 22337755 22337755
6 4 22337635 22337744
我想过滤掉任何与过滤器匹配的 ID。我的第一遍看起来像:
SELECT ID FROM mytable
WHERE
(FILTER1 <> '22337755')
AND
((FILTER2 <> '22337755') OR (FILTER2 IS NULL))
此查询已关闭,但该查询未考虑 GROUP 列,并且由于最后一行 #6 在任一列中都不包含 22337755,因此即使 #5 应将其从列表中删除,它也会返回。
什么是删除在组中的任何行上被 FILTER 命中的行的好方法?