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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。