Home
  • Recipes
  • Contare il numero di record in una tabella MySQL - L'istruzione COUNT
francesco.chianese
pubblicato più di 2 anni fa

Contare il numero di record in una tabella MySQL - L'istruzione COUNT

Ecco come contare gli elementi in SQL, introduzione all'istruzione count

L’istruzione COUNT serve per contare il numero di record in una tabella a database con MySQL si ricorre all’istruzione COUNT, appartenente allo standard SQL. Questa istruzione, applicata ad un nome di colonna, calcola il numero di valori in essa presenti. Ad esempio se abbiamo la tabella studenti così valorizzata:

Matricola Nome Anno Crediti Voto
1 Calcolatori Elettronici 2 10 30
1 Informatica 2 10 30
1 Matematica 1 10 23
2 Informatica 2 10 30
2 Ingegneria del Software 3 10 30
2 Matematica 1 10 27
10 Elettronica digitale 2 10 30
10 Microelettronica 2 10 30
10 Optoelettronica 3 10 30
84 Elettronica 2 10
84 Fisica 2 10
84 Matematica 1 10 30
85 Misure 3 10
85 Sicurezza 2 10 28

la seguente istruzione

1Select count(Voto) as Numerovoti
2From esami;

conta il numero di campi che sono valorizzati all’interno della colonna Voto. Di conseguenza essendo il numero di record valorizzati solo 12 nella colonna Voto (3 di loro sono NULL), il risultato sarà

Numerovoti
12

Dando al risultato il nome “Numerovoti” inserito all’interno dell’istruzione in precedenza.

Se viene messo come parametro della COUNT il simbolo *, la funzione restituisce il numero delle righe selezionate per ciascun gruppo. Ad esempio l’istruzione

1Select count(*) as Numerorecord
2From esami;

restituisce il numero di record presente nella tabella esami, ovvero

Numerorecord
15

mentre l’istruzione

1Select count(*) as Numerorecord
2From esami
3Where Nome = 'Matematica';

Restituisce il numero di record presenti all’interno della tabella esami, dove il campo Nome è valorizzato con Matematica. Infine se il nome di colonna viene preceduto dal parametro DISTINCT, la funzione calcola il numero di valori distinti della colonna. Ad esempio

1Select count(distinct Nome) as Numeronome
2From esami;

restituisce il numero effettivo di esami presenti in tabella, ovvero:

Numeronome
11

N.B. Se avessi fatto

1Select  distinct count(Nome) as Numeronome
2From esami;

avrei avuto

Numeronome
15

in quanto in questo caso MySQL avrebbe applicato la distinct alla tabella complessiva ottenuta con la query sulla tabella esami. Non essendoci ovviamente record duplicati ed essendo tutti i campi nella colonna Nome diversi da NULL il conteggio dei campi valorizzati nella colonna Nome è pari a tutti i record presenti in tabella, ovvero 15. Nel caso precedente invece la distinct è applicata direttamente alla colonna Nome, di conseguenza MySQL esegue prima la query sulla tabella esami, poi conta il numero effettivo di campi diversi nella colonna Nome che sono pari a 11.

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic