MySQL MariaDB

MySQL conta i record di corrispondenza con COUNT

MySQL conta i record di corrispondenza con COUNT

La ridondanza dei dati si verifica per molte ragioni. Molti dei compiti complicati che dovresti affrontare mentre lavori con i sistemi di database sta cercando di scoprire valori duplicati. A questo scopo, utilizzeremo il metodo di aggregazione COUNT(). Il metodo COUNT() restituisce la somma delle righe che risiedono in una tabella specifica. La funzione COUNT() consente di sommare tutte le righe o solo le righe che corrispondono alla condizione definita. In questa guida imparerai come identificare i valori duplicati per una o forse più colonne MySQL usando COUNT(). Il metodo COUNT() ha i seguenti tre tipi:

Assicurati di avere MySQL installato sul tuo sistema. Apri la shell del client da riga di comando MySQL e inserisci la password per continuare. Vedremo alcuni esempi per contare i valori corrispondenti usando il metodo COUNT().

Abbiamo una tabella 'social' nel nostro schema 'data'. Controlliamo il suo record tramite la seguente query.

>> SELEZIONA * DAI dati.sociale;

CONTEGGIO MySQL(*)

Il metodo COUNT(*) viene utilizzato per contare il numero di righe che risiedono nella tabella o contare il numero di righe in base alla condizione data. Per controllare il numero totale di righe in una tabella, "social" prova la query seguente. Abbiamo un totale di 15 righe nella tabella come da risultato.

>> SELEZIONA COUNT(*) DA dati.sociale;

Dai un'occhiata al metodo COUNT(*) mentre definisci alcune condizioni. Dobbiamo recuperare il numero di righe in cui il nome utente è lo stesso di "Mustafa". Puoi vedere che abbiamo solo 4 record per questo nome particolare.

>> SELEZIONA COUNT(*) DA dati.social WHERE Utente = 'Mustafa';

Per recuperare la somma totale delle righe in cui il sito web degli utenti è "Instagram", prova la query indicata di seguito. La tabella 'social' ha solo 4 record per il sito 'Instagram'.

>> SELEZIONA COUNT(*) DA dati.social WHERE Sito web = 'Instagram';

Per recuperare il numero totale di righe in cui "Età" è maggiore di 18 è il seguente:

>> SELEZIONA COUNT(*) DA dati.sociale DOVE Età > 18 anni;

Recuperiamo i dati delle colonne 'Utente' e 'Sito Web' da una tabella, dove il Nome utente inizia con l'alfabeto 'M'. Prova le istruzioni seguenti sulla shell.

>> SELEZIONA Utente, Sito web DA dati.social WHERE Utente come 'M%';

MySQL COUNT (espressione)

In MySQL, il metodo COUNT(espressione) viene utilizzato solo quando si desidera contare i valori non nulli della colonna "espressione". L''espressione' sarebbe il nome di qualsiasi colonna. Facciamone un semplice esempio. Abbiamo contato solo i valori non nulli di una colonna "Sito web", che è correlata alla colonna "Età" con un valore uguale a "25". Vedere! Abbiamo solo 4 record non nulli per gli utenti di età '25' che utilizzano siti web.

>> SELEZIONA COUNT (Sito Web) DA dati.sociale DOVE Età = 25;

MySQL COUNT (espressione DISTINCT)

In MySQL, il metodo COUNT(DISTINCT expression) viene utilizzato per sommare valori non Null e valori distinti della colonna "expression". Per contare un numero distinto di valori non nulli nella colonna "Età" abbiamo utilizzato la query seguente. Troverai 6 record non nulli e distinti della colonna "Età" dalla tabella "sociale". Ciò significa che abbiamo un totale di 6 persone di età diverse.

>> SELEZIONA CONTEGGIO (DISTINTA Età) DAI dati.sociale;

MySQL COUNT (SE (espressione))

Per una grande enfasi, dovresti unire COUNT() con le funzioni di controllo del flusso. Per cominciare, per una parte dell'espressione utilizzata nel metodo COUNT(), potresti usare la funzione IF(). Può essere molto utile farlo per fornire una rapida suddivisione delle informazioni all'interno di un database. Conteremo il numero di righe con diverse condizioni di età e le divideremo in tre diverse colonne, che si possono definire categorie. Innanzitutto, COUNT(IF) conterà le righe con età inferiore a 20 e salverà questo conteggio in una nuova colonna denominata "Teenage". Il secondo COUNT(IF) conta le righe con un'età compresa tra 20 e 30 salvandole in una colonna "Giovani". Terzo, l'ultimo conta le righe con età maggiore di 30 e salvate in una colonna "Mature". Abbiamo 5 adolescenti, 9 giovani e solo 1 persona matura nel nostro record.

>> SELEZIONA CONTEGGIO(SE(Età < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1,NULL)) 'Maturo' DA dati.sociale;

MySQL COUNT(*) con clausola GROUP BY

L'istruzione GROUP BY è un'istruzione SQL che utilizza per righe di gruppo con gli stessi valori. Restituisce il numero totale di valori residenti in ciascun gruppo. Ad esempio, se si desidera controllare separatamente il numero di ciascun utente, è necessario definire la colonna 'Utente' con la clausola GROUP BY mentre si contano i record per ogni utente con COUNT(*).

>> SELEZIONA Utente, COUNT(*) DA dati.social GRUPPO PER Utente;

È possibile selezionare più di due colonne durante l'esecuzione del conteggio delle righe insieme alla clausola GROUP BY, come segue.

>> SELEZIONA Utente, Età, Sito web, COUNT(*) DA dati.social Group BY Sito web;

Se vogliamo contare le righe mentre usiamo la clausola WHERE che contiene alcune condizioni insieme a GROUP BY e COUNT (*), puoi anche farlo. La query seguente recupererà e conterà i record delle colonne: "Utente", "Sito web" e "Età" dove il valore del sito web è solo "Instagram" e "Snapchat". Puoi vedere che abbiamo solo 1 record per entrambi i siti Web per utenti diversi.

>> SELEZIONA Utente, Sito Web, Età, COUNT(*) DA dati.social  WHERE Sito web = 'Instagram' Or Sito web = 'Snapchat' GRUPPO PER Sito web, età;

MySQL COUNT(*) con la clausola GROUP BY e ORDER BY

Proviamo le clausole GROUP BY e ORDER BY insieme al metodo COUNT(). Recuperiamo e contiamo le righe della tabella 'social' mentre disponiamo i dati in ordine decrescente utilizzando questa query:

>>  SELEZIONA Utente, Sito web, Età, COUNT(*) DA dati.social GRUPPO PER Età ORDINA PER COUNT(*) DESC;

La query indicata di seguito conterà prima le righe, quindi visualizzerà gli unici record con COUNT maggiore di 2 in ordine crescente.

>> SELEZIONA Utente, Età, COUNT(*) DA dati.social GRUPPO PER Età AVENDO CONTEGGIO(*) > 2 ORDINA PER CONTEGGIO(*) ASC;

Conclusione

Abbiamo esaminato tutti i metodi possibili per contare i record corrispondenti o duplicati utilizzando il metodo COUNT() con diverse altre clausole.

Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...
Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...