メガタイトルでごめんなさい...私は十分に説明しようとしていました。いくつかの誤ったデータを含むイベント出席データを含むテーブルがあります。テーブル定義は次のようなものです。
id (row id)
date
company_name
attendees
ある日付に対して、company_nameとdateに一致する2つのエントリがありますが、1つはattendies = 0で、もう1つはattendies>0である場合があります。そのような場合、出席者=0の場合は破棄したいと思います。
削除中に同じテーブルに参加できないことはわかっているので、このクエリは、私が達成したいことを示す擬似コードであると考えてください。
DELETE FROM attendance a WHERE a.attendees=0 AND a.date IN (SELECT b.date FROM attendance b WHERE b.attendees > 0 AND b.company_name = a.company_name);
また、削除する行のIDを一時テーブルに入力しようとしましたが、IN(SELECT ...)句が原因でクエリがハングします。私のテーブルには数千行あるので、CPUを最大限に活用してからタイムアウトします。