0

MySQL のテーブル レコードの下に、次のものがあります。

SELECT * FROM dbo.online;
+-------+
| Id    |
+-------+
| 10128 |
| 10240 |
|  6576 |
|    32 |
| 10240 |
| 10128 |
| 10128 |
| 12352 |
+-------+
8 rows in set (0.00 sec)

作り方:

 SELECT * FROM dbo.online;
+-------+
| Id    |
+-------+
| 10128 |
| 10240 |
|  6576 |
|    32 |
| 12352 |
+-------+
8 rows in set (0.00 sec)

つまり、私がやりたいのは、SELECT * FROM dbo.online GROUP BY id の代わりに DELETE コマンドを使用することです。

4

3 に答える 3

2

でデータをコピーしてテーブルをバックアップしますdistinct。その手順により重複が排除されます

create table backUp_online as
SELECT distinct * 
FROM online;

ソーステーブルをクリア

truncate table online

バックアップからソース テーブルにデータを複製せずにコピーする

   insert into online
   select *
   from backUp_online
于 2013-08-07T11:59:59.663 に答える
1

MySQLにはトリックがあります:

ALTER IGNORE TABLE `dbo`.`online` ADD UNIQUE KEY `ukId`(`Id`)

これも役に立ちます。

于 2013-08-07T11:54:57.037 に答える