如果该组中的某个条目符合条件,则实际上我想删除与该组有关的所有行(在group by子句中)。
现在,我实际上正在运行的查询是一种元组匹配,这非常慢。

SELECT *
FROM Table
WHERE (column1, column2, column3) not in
       ((SELECT column1, column2, column3
         FROM Table
         WHERE column4 like 'abcd'))

最佳答案

您可以计算每个组的“要排除的行”数,并使用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

关于mysql - 如果其中一个满足特定条件,则删除组中的所有条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46541643/

10-12 12:46
查看更多