Cosa vuoi veramente contare?
COUNT(*) conta tutte le linee perimetrali. COUNT(telephone) conta solo le linee in cui il telefono non è NULL.
L'utilizzo di entrambi nella stessa query produce un controllo di completezza: popolazione totale, valori immessi e differenza.
La domanda è stata spiegata
Inizia definendo cosa dovrebbe rappresentare una riga del risultato. Questa decisione determina le colonne, i raggruppamenti e i controlli necessari.
L'esempio seguente isola il meccanismo principale. Eseguilo, osserva il risultato, quindi modifica una clausola alla volta per comprenderne l'effetto.
SELECT
COUNT(*) AS clients_total,
COUNT(telephone) AS telephones_renseignes,
COUNT(*) - COUNT(telephone) AS telephones_absents
FROM clients;Leggi il risultato come un analista
Le tre colonne devono essere riconciliate: quelle inserite più quelle assenti equivalgono al totale. Questo controllo rende spiegabile la tariffa finale.
Dopo join, COUNT(*) può contare anche le linee moltiplicate. Controllare sempre il livello di dettaglio prima di interpretare il volume.
- Definire la popolazione prima di contare.
- Misurare il NULL della colonna contata.
- Controllare l'effetto di join.
- Confronta il volume dettagliato e aggregato.
Errori che distorcono l'analisi
Una query può essere valida senza rispondere correttamente alla domanda. Gli errori più costosi spesso sono silenziosi: perimetro sbagliato, linea moltiplicata o valore mancante interpretato come zero.
Prima di condividere il risultato, confrontalo con un piccolo campione calcolato manualmente e mantieni la definizione dell'ambito con la query.
- Presenta COUNT(colonna) come numero di record restituiti.
- Dimentica lo NULL.
- Contare dopo molti-a-molti join.
- Utilizza DISTINCT per nascondere una moltiplicazione mancante.
Mettiti in pratica
Utilizza l'esercizio di completezza per calcolare un tasso e proteggere la divisione con NULLIF.
Il simulatore SQL di SQL.tn esegue solo query di lettura su dati fittizi nel tuo browser. Puoi provare più scritture e confrontare i risultati senza installare alcun software.
Metti in pratica questa guida.
Apri l’esercizio collegato, esegui la query e confronta il risultato atteso.
