Come trovare valori duplicati in MySQL

di Lorenzo Neri

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.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Ci siamo detti 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!

Continua a scoprire di più con questi articoli!

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ù