sql >> データベース >  >> RDS >> Mysql

MySQLで重複レコードを見つける方法

    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 |
    +------+--------+----------+
    

    うまくいけば、My​​SQLで重複レコードを簡単に取得できるようになりました。

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

    1. MySQLでコンマを使用して数値をフォーマットする方法

    2. mysqlのWHERE句でエイリアスを使用できますか?

    3. MySQLに接続するようにTomcatを構成する方法

    4. OracleInstantクライアントをPythoncx_OracleのDockerコンテナにインストールします