Mysql trova valori duplicati nella tabella

Mysql trova valori duplicati nella tabella
I dati ridondanti possono essere conservati 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 tratta di un database MySQL. In generale, è intelligente utilizzare spesso restrizioni su una tabella per archiviare informazioni che impediscono le 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 su come individuare valori duplicati attraverso modi diversi e come contare i valori duplicati.

Per iniziare, devi avere MySQL installato sul tuo sistema con le sue utility: MySQL Workbench e Shell client di comando. Successivamente, dovresti avere alcuni dati o valori nelle tabelle di database come duplicati. Esploriamo questo con alcuni esempi. Prima di tutto, apri la shell client di comando dalla barra delle applicazioni desktop e digita la password mysql su.

Abbiamo trovato metodi diversi per trovare duplicato in una tabella. Dai un'occhiata a uno per uno.

Cerca duplicati in una singola colonna

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

>> Seleziona COL COUNT (COL) dal gruppo di tabelle di Col con conteggio (col)> 1;

Ecco la spiegazione della domanda sopra:

  • Colonna: Nome della colonna da controllare.
  • CONTARE(): La funzione utilizzata per contare molti valori duplicati.
  • RAGGRUPPA PER: La clausola utilizzata per raggruppare tutte le righe secondo quella colonna particolare.

Abbiamo creato una nuova tabella chiamata "Animals" nel nostro database MySQL "Dati" con valori duplicati. Ha sei colonne con valori diversi in esso, E.G., ID, nome, specie, sesso, età e prezzo che forniscono informazioni sui diversi animali domestici. Dopo aver chiamato questa tabella usando la query seleziona, otteniamo l'output di seguito sulla nostra shell del client di comando MySQL.

>> Seleziona * dai dati.animali;

Ora, proveremo a trovare i valori ridondanti e ripetuti dalla tabella sopra utilizzando il conteggio e il gruppo per clausola nella query selezionata. Questa query conta i nomi degli animali domestici che si trovano meno di 3 volte nella tabella. Successivamente, visualizzerà quei nomi come di seguito.

>> Seleziona il conteggio dei nomi (nome) dai dati.Gruppo di animali per nome con conteggio (nome) < 3;

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

>> Seleziona il conteggio dei nomi (nome) dai dati.Gruppo di animali per nome con conteggio (nome)> 3;

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

>> Seleziona il conteggio dei nomi (nome) dai dati.Gruppo di animali per nome con conteggio (nome) = 3;

Cerca duplicati in più colonne

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

>> Seleziona COL1, COUNT (COL1), COL2, COUNT (COL2) dal gruppo della tabella di Col1, COL2 con conteggio (COL1)> 1 e COUNT (COL2)> 1;

Ecco la spiegazione della domanda sopra:

  • Col1, Col2: Nome delle colonne da controllare.
  • CONTARE(): La funzione utilizzata per contare diversi valori duplicati.
  • RAGGRUPPA PER: La clausola utilizzata per raggruppare tutte le righe in base a quella colonna specifica.

Abbiamo usato la stessa tabella chiamata "animali" con valori duplicati. Abbiamo ottenuto l'output di seguito utilizzando la query sopra per controllare i valori duplicati in più colonne. Abbiamo controllato e contando i valori duplicati per il genere e il prezzo delle colonne mentre sono raggruppati dal prezzo della colonna. Mostrerà i generi per animali domestici e i loro prezzi che risiedono nella tabella come duplicati non più di 5.

>> Seleziona genere, conteggio (genere), prezzo, conteggio (prezzo) dai dati.Gruppo di animali per prezzo con conteggio (prezzo) < 5 AND COUNT(Gender) < 5;

Cerca i duplicati in una tabella singola utilizzando il join interno

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

>> Seleziona Col1, Col2, tabella.Col From Table Inner Join (Seleziona Col dal gruppo Tabella di Col con conteggio (Col1)> 1) Temp sulla tabella.col = temp.col;

Ecco la narrazione della query aerea:

  • Col: Il nome della colonna da controllare e selezionare per i duplicati.
  • Temp: Parola chiave per applicare un join interno su una colonna.
  • Tavolo: Nome della tabella da controllare.

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

>> Seleziona * dai dati.ordine2;

Stiamo selezionando tre colonne: articolo, vendite, ordini da mostrare nell'output. Mentre l'ordine della colonna viene utilizzato per controllare i duplicati. Il join interno selezionerà i valori o le righe con i valori degli elementi più di uno in una tabella. Al momento dell'esecuzione, otterremo i risultati di seguito.

>> Seleziona Articolo, Vendite, Ordine2.Orderno dai dati.Order2 interno interno (seleziona orderNo dai dati.Order2 Gruppo di OrderNo con conteggio (elemento)> 1) temp su ordine2.Orderno = temp.Numero d'ordine;

Cerca duplicati in più tabelle usando interni

Ecco la sintassi semplificata per la ricerca di duplicati in più tabelle:

>> Seleziona Col dalla tabella 1 join table2 nella tabella1.col = table2.col;

Ecco la descrizione della query aerea:

  • col: Nome delle colonne da controllare e selezionare.
  • INNIERI INIERI: La funzione utilizzata per unire due tabelle.
  • SU: Utilizzato per unire due tabelle secondo le colonne fornite.

Abbiamo due tabelle, 'order1' e 'order2', nel nostro database con la colonna 'orderno' in entrambi come visualizzato di seguito.

Useremo il join interno per combinare i duplicati di due tabelle secondo una colonna specificata. La clausola di join interno riceverà tutti i dati da entrambe le tabelle unendosi a loro e la clausola On riferirà le stesse colonne di entrambe le tabelle, E.G., Numero d'ordine.

>> Seleziona * dai dati.Order1 Dati di iscrizione interni.ordine2 su ordine1.Orderno = order2.Numero d'ordine;

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

>> Seleziona regione, stato, articolo, vendite dai dati.Order1 Dati di iscrizione interni.ordine2 su ordine1.Orderno = order2.Numero d'ordine;

Conclusione

Ora potremmo cercare più copie in una o più tabelle di informazioni MySQL e riconoscere il gruppo, conta e funzione di join interiore. Assicurati di aver costruito le tabelle correttamente e anche che vengano scelte le colonne giuste.