MySQL MariaDB

MySQL Trova valori duplicati nella tabella

MySQL Trova valori duplicati nella tabella
I dati ridondanti possono essere mantenuti nella tabella dal programma di database, influenzando l'output del database in MySQL. La replica dei dati, tuttavia, avviene per scopi diversi ed è un lavoro importante identificare i valori duplicati nella tabella quando si ha a che fare con un database MySQL. In generale, è intelligente utilizzare spesso restrizioni chiare su una tabella per memorizzare informazioni che prevengano righe ridondanti. A volte, in un database MySQL, potresti voler calcolare il numero di valori ripetuti. Abbiamo affrontato questa domanda in questo argomento, in cui imparerai come individuare i valori duplicati in modi diversi e come contare i valori duplicati.

Per iniziare, devi avere MySQL installato sul tuo sistema con le sue utilità: MySQL workbench e shell client da riga di comando. Dopodiché, dovresti avere alcuni dati o valori nelle tabelle del database come duplicati. Esploriamo questo con alcuni esempi. Prima di tutto, apri la shell del tuo client da riga di comando dalla barra delle applicazioni del desktop e digita la tua password MySQL su richiesta.

Abbiamo trovato diversi metodi per trovare duplicati in una tabella. Guardali uno per uno.

Cerca duplicati in una singola colonna

Innanzitutto, è necessario conoscere la sintassi della query utilizzata per controllare e contare i duplicati per una singola colonna.

>> SELECT col COUNT(col) FROM tabella GROUP BY col HAVING COUNT(col) > 1;

Ecco la spiegazione della query di cui sopra:

Abbiamo creato una nuova tabella chiamata "animali" nel nostro database MySQL "dati" con valori duplicati. Ha sei colonne con valori diversi al suo interno, e.g., id, nome, specie, genere, età e prezzo che forniscono informazioni su diversi animali domestici. Dopo aver chiamato questa tabella utilizzando la query SELECT, otteniamo l'output seguente sulla nostra shell client da riga di comando MySQL.

>> SELEZIONA * DAI dati.animali;

Ora proveremo a trovare i valori ridondanti e ripetuti dalla tabella sopra utilizzando le clausole COUNT e GROUP BY nella query SELECT. Questa query conterà i nomi degli animali domestici che si trovano meno di 3 volte nella tabella. Successivamente, visualizzerà quei nomi come di seguito.

>> SELECT Nome COUNT(Nome) FROM dati FROM.animali GRUPPO PER Nome HAVING COUNT(Nome) < 3;

Utilizzo della stessa query per ottenere risultati diversi durante la modifica del numero COUNT per i nomi degli animali domestici come mostrato di seguito.

>> SELECT Nome COUNT(Nome) FROM dati.animali GRUPPO PER Nome HAVING COUNT(Nome) > 3;

Per ottenere risultati per un totale di 3 valori duplicati per i nomi di animali domestici come mostrato di seguito.

>> SELECT Nome COUNT(Nome) FROM dati.animali GRUPPO PER Nome HAVING COUNT(Nome) = 3;

Cerca duplicati in più colonne

La sintassi della query per controllare o contare i duplicati per più colonne è la seguente:

>> SELECT col1, COUNT (col1), col2, COUNT (col2) FROM tabella GROUP BY col1, col2 HAVING COUNT (col1) > 1 E  COUNT (col2) > 1;

Ecco la spiegazione della query di cui sopra:

Abbiamo usato la stessa tabella chiamata "animali" con valori duplicati. Abbiamo ottenuto l'output seguente utilizzando la query precedente per controllare i valori duplicati in più colonne. Abbiamo controllato e conteggiato i valori duplicati per le colonne Genere e Prezzo mentre erano raggruppati per la colonna Prezzo. Mostrerà i generi di animali domestici e i loro prezzi che risiedono nella tabella come duplicati non più di 5.

>> SELEZIONA Genere, COUNT (Sesso), Prezzo, COUNT (Prezzo) DA dati.animali GRUPPO PER Prezzo AVERE CONTATO(Prezzo) < 5 AND  COUNT(Gender) < 5;

Cerca duplicati in una tabella singola utilizzando INNER JOIN

Ecco la sintassi di base per trovare duplicati in una singola tabella:

>> SELEZIONA col1, col2, tabella.col FROM tabella INNER JOIN(SELECT col FROM tabella GROUP BY col HAVING COUNT(col1) > 1) temp ON tabella.col= temperatura.col;

Ecco la narrazione della query in alto:

Abbiamo una nuova tabella, "order2" con valori duplicati nella colonna OrderNo come mostrato di seguito.

>> SELEZIONA * DAI dati.ordine2;

Stiamo selezionando tre colonne: Item, Sales, OrderNo da mostrare nell'output. Mentre la colonna OrderNo viene utilizzata per controllare i duplicati. Il join interno selezionerà i valori o le righe con i valori di Items più di uno in una tabella. Dopo l'esecuzione, otterremo i risultati di seguito.

>> SELEZIONA Articolo, Vendite, Ordine2.Numero d'ordine DA dati.order2 INNER JOIN(SELECT OrderNo FROM dati.order2 GROUP BY OrderNo HAVING COUNT(Item) > 1) temp ON order2.OrderNo= temp.Numero d'ordine;

Cerca duplicati in più tabelle utilizzando INNER JOIN

Ecco la sintassi semplificata per trovare duplicati in più tabelle:

>> SELECT col FROM table1 INNER JOIN table2 ON table1.col = tabella2.col;

Ecco la descrizione della query in alto:

Abbiamo due tabelle, 'order1' e 'order2', nel nostro database con la colonna 'OrderNo' in entrambe come mostrato di seguito.

Useremo il join INNER per combinare i duplicati di due tabelle in base a una colonna specificata. La clausola INNER JOIN otterrà tutti i dati da entrambe le tabelle unendoli e la clausola ON metterà in relazione le colonne con lo stesso nome di entrambe le tabelle, e.g., Numero d'ordine.

>> SELEZIONA * DAI dati.order1 INNER JOIN dati.ordine2 SU ordine1.OrderNo = ordine2.Numero d'ordine;

Per ottenere le colonne particolari in un output, prova il comando seguente:

>> SELEZIONA Regione, Stato, Articolo, Vendite DA dati.order1 INNER JOIN dati.ordine2 SU ordine1.OrderNo = ordine2.Numero d'ordine;

Conclusione

Ora potremmo cercare più copie in una o più tabelle di informazioni MySQL e riconoscere le funzioni GROUP BY, COUNT e INNER JOIN. Assicurati di aver costruito correttamente le tabelle e anche di scegliere le colonne giuste.

Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...
Controlla e gestisci il movimento del mouse tra più monitor in Windows 10
Gestore mouse con doppio display ti consente di controllare e configurare il movimento del mouse tra più monitor, rallentando i suoi movimenti vicino ...
WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...