Een selectie geeft u relationeel een resultatenset. Als u uw selectie op een veld groepeert, worden de rijen van de resultatenset gegroepeerd op dat veld en is elke rij van de resultatenset specifiek voor de groep resultaten.
U hebt bijvoorbeeld een tabel met de naam Dieren met de volgende velden:
Type | Gender | Name
Als u deze zoekopdracht uitvoert (bijvoorbeeld in MySQL):
select Type, Gender, Name from Animals where Type <> 'Pig'
je krijgt alle dieren die geen 'varken' zijn. Als een rij Type ='varken' heeft, wordt deze opgenomen in de resultaten.
Deze vraag:
select Type, Gender, count(*) from Animals group by Type, Gender
zal zoveel rijen hebben:aantal typen * aantal geslachten
Je kunt voorwaarden maken voor je groep door de hebbende clausule in MySQL te gebruiken.
Lees meer hier
Het verschil tussen count(*)
en count(browser)
is dat de eerste het aantal records retourneert, de tweede het aantal records retourneert waar not (browser is null)
.
Probeer een rij in te voegen waar browser is null
en voer vervolgens 1) en 2) uit, dit is de beste test.