MySQLで重複レコードを見つける必要がある場合があります。テーブル内の重複レコードを取得する方法は次のとおりです。これを使用して、MySQLで重複する値を持つ行を取得できます
MySQLで重複する値を見つける方法
MySQLで重複レコードを取得する手順は次のとおりです。次のMySQLテーブルに重複レコードがあるとします。
mysql> create table dup_orders(id int, amount int); mysql> insert into dup_orders(id,amount) values(1, 100),(1,250),(2,350),(2,350); mysql> select * from dup_orders; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 1 | 250 | | 2 | 350 | | 2 | 350 | +------+--------+
ボーナス読み取り:MySQLは一意の制約を追加します
1つの列で重複する行の値を検索する
1つの列の重複する値を見つけるためのSQLクエリは次のとおりです
SELECT col, COUNT(col) FROM table_name GROUP BY col HAVING COUNT(col) > 1;
上記のクエリでは、重複をチェックする列に対してGROUPBYを実行します。また、COUNT()句とHAVING句を使用して、各グループの行数を取得します。
ボーナス読み取り:MySQLの名前変更列
上記のクエリをdup_ordersに適用してみましょう テーブル、 idの重複値を取得します 列
mysql> select id, amount from dup_orders group by id having count(id)>1; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 2 | 350 | +------+--------+
複数の列で重複する行の値を検索する
複数の列の重複する値を見つけるためのSQLクエリは次のとおりです
SELECT col1, col2,..., COUNT(*) FROM table_name GROUP BY col1, col2, ... HAVING (COUNT(col1) > 1) AND (COUNT(col2) > 1) AND ...
上記のクエリでは、すべての列( col1、col2 )のGROUPBYを実行します。 )重複を見つけたい人。また、COUNT()句とHAVING句を使用して、各グループの行数を取得します。
ボーナスリード:MySQLでテーブルを複製する方法
上記のクエリをdup_ordersに適用してみましょう テーブル、 idの重複値を取得します および金額 列
mysql> select id, amount,count(*) from dup_orders group by id,amount having count(id)>1 and count(amount)>1; +------+--------+----------+ | id | amount | count(*) | +------+--------+----------+ | 2 | 350 | 2 | +------+--------+----------+
うまくいけば、MySQLで重複レコードを簡単に取得できるようになりました。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。