Formazione MySQL – Conteggio COUNT

mysql-logo

In questa sessione della formazione MySQL vediamo le rimanenti funzioni e modi di aggregazione dei dati. Anche in questo caso si tratta di funzioni interne a MySQL che semplificano le operazioni.

MySQL COUNT() – Conteggio

La funzione di aggregazione COUNT() conta e visualizza il numero totale di voci. Ad esempio, per contare il numero totale di voci nella tabella, diamo il comando seguente:

Come abbiamo visto in precedenza, il segno * è un wildcard (carattere jolly) che significa “tutti i dati”. In teoria potremmo anche dare il nome di una singola colonna, visto che tutte le colonne contengono lo stesso numero di righe, ma per convenzione si utilizza il carattere *. Inoltre è anche più veloce da scrivere.

Ora vediamo quale è il numero dei dipendenti che ha il titolo di “Programmatore”:

La clausola MySQL GROUP BY

La clausola MySQL GROUP BY ci permette di raggruppare dati simili. Così, per elencare in maniera unica tutti i titoli della nostra tabella possiamo scrivere:

A prima vista la clausola GROUP BY sembra identica alla clausola DISTINCT, vista in una lezione precedente. La differenza è che mentre il DISTINCT si limita a mostrare in maniera unica i dati, il GROUP BY mette insieme quelli simili raggruppandoli (come dice il nome). E una volta che sono raggruppati li possiamo anche contare:

Nel comando di sopra, MySQL per prima cosa raggruppa (GROUP BY) di diversi titoli, poi conta (COUNT(*)) ciascun gruppo.

MySQL Ordinamento dei dati

Ora troviamo ed raggruppiamo il numero dei dipendenti in base ai diversi titoli e visualizziamo i dati ordinandoli con ORDER BY.

Esercizi

  1. Contare il numero dei dipendenti che lavorano per Bigcompany da quattro o più anni.
  2. Contare i dipendenti in base alla loro età.
  3. Modificare la ricerca precedente in modo che l’età sia mostrata in ordine decrescente.
  4. Trovare l’età media dei dipendenti dei diversi reparti (titolo).
  5. Modificare la ricerca precedente in modo che i dati vengano visualizzati in ordine decrescente di età media.

Risposte

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top