Come trovare valori duplicati in MySQL

di Lorenzo Neri
0 commento 83 visualizzazioni

Come trovare valori duplicati in MySQL? C’è un modo rapido ed efficace? Lo scopriamo assieme in questo articolo.

In linea generale, se vuoi trovare valori duplicati all’interno di una tabella in un database MySQL, è altamente probabile che vuoi agire a livello di colonne.

Per raggiungere tale obiettivo, ci sono molti modi e tante query differenti.

Ci siamo detti però, ad inizio articolo, se ci fosse un modo non solo rapido ma anche efficace.

Vediamo un po’ la query qua sotto:

SELECT nomeColonna, COUNT(*) occorrenze FROM nomeTabella GROUP BY nomeColonna HAVING occorrenze > 1

E ora cerchiamo di analizzarla punto per punto.

Quando eseguiamo la select, agiamo a livello di colonna a cui ci riferiamo per trovare i valori duplicati.

A cosa ci serve la “COUNT(*)”? Serve a conteggiare le tuple.

Ovviamente, non ci servono tutte le tuple presenti nella tabella.

Come facciamo allora a considerare solo quelle che hanno i valori duplicati?

GROUP BY HAVING

Se ci hai fatto caso, stiamo usando la “GROUP BY” e il suo funzionamento proprio quello di raggruppare le tuple in base alla colonna che stiamo analizzando.

Tuttavia non basta.

Perchè sì, noi raggruppiamo le tuple in base alla colonna in cui vogliamo individuare i duplicati, ma per considerare solo quelli veri e propri dobbiamo fare uso della COUNT di prima che se hai notato ho chiamato non per caso “occorrenze” 🙂

E di fatto, la variabile “occorrenze” la uso per creare la clausola “HAVING” subito a seguito.

Se tale valore è maggiore di uno allora ci troviamo di fronte a dei duplicati e solo questi verranno stampati a video dal risultato della query!

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più