データデータベースに入力する過程で、データ量が比較的大きい場合、何らかの理由で必然的に複数の繰り返しレコードに入力されることになるため、繰り返しを削除し、大きい ID または小さい ID を記録する操作を行います。 。
この例で使用されるデータテーブルの構造は次のとおりです tdb_goods out out out 's off ' s‐ ‐ ‐ テーブル内で繰り返されるデータは tdb_goods になります
mysql> SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUN T(goods_name)>=2; +----------+------------------------------+ | goods_id | goods_name | +----------+------------------------------+ | 20 | X3250 M4机架式服务器 2583i14 | | 19 | 商务双肩背包 | +----------+------------------------------+ 2 rows in set (0.01 sec)
LEFT JOIN を使用して上記のクエリ結果を削除し、重複レコードを削除し、元のテーブルと上記のうちの
mysql> DELETE t1 FROM tdb_goods AS t1 LEFT JOIN( SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2) AS t2 ON t1.goods_na me = t2.goods_name WHERE t1.goods_id>t2.goods_id; Query OK, 2 rows affected (0.06 sec)を保持します。クエリ結果。同じ名前を持つレコードをすべて削除し、goods_id が大きいレコードをすべて削除します。このようにして、目的の効果を達成できます。
through - 使用する JOIN を使用する。
上記は、mysql がテーブル内の重複行を削除し、より小さい (またはより大きい) ID を持つレコードを保持する方法です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。