Una selezione fornisce in modo relazionale un set di risultati. Se stai raggruppando la tua selezione per un campo, le righe del set di risultati saranno raggruppate per quel campo e ogni riga del set di risultati sarà specifica per il gruppo di risultati.
Ad esempio hai una tabella denominata Animals con i seguenti campi:
Type | Gender | Name
Se stai eseguendo questa query (in MySQL, ad esempio):
select Type, Gender, Name from Animals where Type <> 'Pig'
otterrai tutti gli animali che non sono "Maiale". Se una riga ha Tipo ='maiale', verrà inclusa nei risultati.
Questa domanda:
select Type, Gender, count(*) from Animals group by Type, Gender
avrà così tante righe:numero di tipi * numero di sessi
Puoi creare condizioni per il tuo gruppo usando la clausola having in MySQL.
Leggi di più qui
La differenza tra count(*)
e count(browser)
è che il primo restituirà il numero di tutti i record, il secondo restituirà il numero di tutti i record dove not (browser is null)
.
Prova a inserire una riga in cui browser is null
e poi esegui 1) e 2), questo è il miglior test.