2016-08-26 9 views
0

テーブルから一度しか表示されない行を削除したいとします。 私はこれを試してみましたが、それは私にエラーを与えました。テーブルからMysqlを削除して1回だけ表示する

delete from trans where nol in (select nol from trans T1 group by T1.nol having count(*) = 1) 
+0

ポストエラーメッセージ、このクエリを実行しながら、あなたが得るエラー? – yash

答えて

2

MySQLでは、SELECT部分​​で使用する同じテーブルを変更することはできません。 回避策として、サブクエリをテーブルエイリアスにラップする必要があります。

サンプルクエリ:

delete from trans 
where nol in (SELECT nol FROM 
    (select nol from trans T1 group by T1.nol having count(*) = 1) t) 
+0

ありがとうございます –

関連する問題