0

mysql クエリを使用して、データベース内の重複するエントリを選択しました。

select id,DATE_FORMAT(cu_date,'%Y-%m-%d %T'),trunk_id ,count(*) from circuit_u
WHERE DATE_FORMAT(cu_date,'%Y-%m-%d') = '2013-01-26'
group by DATE_FORMAT(cu_date,'%Y-%m-%d %T'),trunk_id
HAVING count(*) > 1;

出力:

16347   2013-01-26 01:00:00 0   2
16372   2013-01-26 01:00:00 1   2
16397   2013-01-26 01:00:00 100 2
16422   2013-01-26 01:00:00 101 2
16447   2013-01-26 01:00:00 121 2
16472   2013-01-26 01:00:00 211 2
16497   2013-01-26 01:00:00 221 2
16522   2013-01-26 01:00:00 311 2

次に、それらを削除する別のコマンドを追加します。

私は非常に多くの方法で試しましたが、毎回失敗しました。

助けてください。

4

2 に答える 2

0

どのように試しても、同じ SQL クエリで同じテーブルの行にアクセスして削除することはできません。少なくとも 2 つのクエリが必要です。

「ID の一時メモリ テーブルを作成するクエリ、削除する (または保持する..) 行 ID を設定する別のクエリ、元のデータとデータを関連付ける最後のクエリ最初の行から行を削除するための一時テーブル。」

(注: 一時テーブルを使用する場合は、同じ接続で 3 つのクエリを実行する必要があります。)

于 2013-08-04T11:38:15.113 に答える