0

複数のエントリを持つデータベースがあります。

私はこのようなものをグーグルで検索します

SELECT COUNT(*), item_id, text, number FROM ads
GROUP BY item_id, text, number
HAVING COUNT(*)>1;

これは(私が思うに)すべての複数のエントリを選択し、SQLyogを使用しています...そして、ボタンを押してこのクエリのすべての結果を削除するオプションはありません。

でも、一つ一つ全部選んで削除しても元のも削除してしまいますよね?

基本的に、すべての一意のエントリを保持し、複数のアイテムの 1 つを保持したいと考えています。

簡単な例

('1''ノビサド''123'); ('1''ノビサド''123'); ('3''ベオグラード''124');

飼いたい

('1''ノビサド''123'); ('3''ベオグラード''124');

私は基本的なmysqlしか知りません。

4

4 に答える 4

1

エントリを削除するときは、必ずIDの増分をリセットしてください

ALTER TABLE 'table_name' AUTO_INCREMENT = 1
于 2010-02-22T22:03:44.447 に答える
1

コピー、ドロップ、削除できますか?

CREATE TABLE Copy_Temp as
SELECT item_id, text, number 
FROM ads
GROUP BY item_id, text, number;

DROP Table ads;

RENAME TABLE Copy_Temp TO ads;
于 2010-02-22T22:05:15.097 に答える
1

すべての一意のレコードを一時テーブルに選択します。
元のテーブルからすべてのレコードを削除します。
一時テーブルのすべてのレコードを元のテーブルに挿入します。

于 2010-02-22T22:06:06.037 に答える
0
DELETE emp FROM employee emp, employee emp2
WHERE emp.id > emp2.id
AND emp.name = emp2.name

たとえば、employee重複レコード (同じ名前が複数回ある) があるテーブルがある場合、このクエリはすべての重複レコードを削除します。

于 2016-08-03T12:05:41.627 に答える