如果该组中的一个条目与该条件匹配,我实际上想要删除与组相关的所有行(在group by子句中)。 现在我运行的查询实际上是一种元组匹配,这是超级慢的。
SELECT *
FROM Table
WHERE (column1, column2, column3) not in
((SELECT column1, column2, column3
FROM Table
WHERE column4 like 'abcd'))
答案 0 :(得分:1)
您可以计算要排除的"行的数量"每个组,并使用HAVING
子句排除包含它们的组,如:
SELECT whatever, SUM(criterion_for_a_single_line_to_be_excluded) as number_of_lines_to_exclude
FROM …
GROUP BY whatever
HAVING number_of_lines_to_exclude = 0