A volte potrebbe essere necessario trovare record duplicati in MySQL. Ecco come ottenere record duplicati in una tabella. Puoi usarlo per ottenere righe con valori duplicati in MySQL
Come trovare valori duplicati in MySQL
Ecco i passaggi per ottenere record duplicati in MySQL. Supponiamo che tu abbia la seguente tabella MySQL con record duplicati.
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 | +------+--------+
Bonus Lettura:MySQL aggiunge un vincolo unico
Trova valori di riga duplicati in una colonna
Ecco la query SQL per trovare valori duplicati per una colonna
SELECT col, COUNT(col) FROM table_name GROUP BY col HAVING COUNT(col) > 1;
Nella query precedente, eseguiamo un GROUP BY per la colonna per la quale vogliamo controllare i duplicati. Usiamo anche una clausola COUNT() e HAVING per ottenere il conteggio delle righe per ogni gruppo.
Bonus Lettura:Colonna Rinomina MySQL
Applichiamo la query precedente per i nostri dup_orders tabella, per ottenere valori duplicati per id colonna
mysql> select id, amount from dup_orders group by id having count(id)>1; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 2 | 350 | +------+--------+
Trova valori di riga duplicati in più colonne
Ecco la query SQL per trovare valori duplicati per più colonne
SELECT col1, col2,..., COUNT(*) FROM table_name GROUP BY col1, col2, ... HAVING (COUNT(col1) > 1) AND (COUNT(col2) > 1) AND ...
Nella query precedente, eseguiamo un GROUP BY di tutte le colonne (col1, col2 ) per i quali vogliamo trovare duplicati. Usiamo anche una clausola COUNT() e HAVING per ottenere il conteggio delle righe per ogni gruppo.
Bonus Leggi:Come duplicare la tabella in MySQL
Applichiamo la query precedente per i nostri dup_orders tabella, per ottenere valori duplicati per id e importo colonna
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 | +------+--------+----------+
Si spera che ora sia possibile ottenere facilmente record duplicati in MySQL.
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!