この質問は2年前に質問されましたが、解決策はgroup_concatを使用しませんでした。その次選択された行mysql group_concatを削除する
select name, count(*) c, group_concat(id) rows
from table
group by name
having c > 1;
を実行すると
name c rows
Bob 2 3,7
Joe 2 4,8
を与えるテーブル
id name
1 Tim
2 Sam
3 Bob
4 Joe
5 Ali
6 Kay
7 Bob
8 Joe
を与え、それが短く、維持することは、その後なしに私のテーブルから行3,7,4および8を除去することが可能ですスクリプトを書く?私は実際には私の "名前"列がテーブルの3つの列の連結であるので、私はgroup_concatを使う必要があると思う。
なぜ使用 'のために再び再び参加し、連結削除してみてくださいGROUP_CONCAT() 'はまったくですか? 'DELETE t1 FROM table t1 NATURAL JOIN(名前をSELECT GROUP BYの名前にする(*)> 1)t2'を選択するだけです。 – eggyal
これは私にいくつかのアイデアをくれてありがとう、私は結局同様の探しているクエリで短いスクリプトを使ってIDを選択しました。私はgroup_concatを削除せずに削除したいのですが、それぞれを削除しました。 – nak3c