sql >> Database teknologi >  >> RDS >> Mysql

hvordan fungerer groupby og tæller i sql

En udvælgelse giver dig relationelt et resultatsæt. Hvis du grupperer dit valg efter et felt, vil rækkerne i resultatsættet blive grupperet efter dette felt, og hver række i resultatsættet vil være specifik for gruppen af ​​resultater.

For eksempel har du en tabel ved navn Dyr med følgende felter:

Type | Gender | Name

Hvis du kører denne forespørgsel (i MySQL, for eksempel):

 select Type, Gender, Name from Animals where Type <> 'Pig'

du får alle de dyr, som ikke er 'svin'. Hvis en række har Type ='pig', vil den blive inkluderet i resultaterne.

Denne forespørgsel:

select Type, Gender, count(*) from Animals group by Type, Gender

vil have så mange rækker:antal typer * antal køn

Du kan stille betingelser for din gruppe ved at bruge have-klausulen i MySQL.

Læs mere her

Forskellen mellem count(*) og count(browser) er, at den første vil returnere antallet af alle poster, den anden vil returnere antallet af alle poster, hvor not (browser is null) .

Prøv at indsætte en række, hvor browser is null og kør så 1) og 2), dette er den bedste test.



  1. Sådan konverteres en streng til en numerisk værdi i PostgreSQL

  2. Tæl rækker i MySQL sammen med det faktiske rækkeindhold

  3. Hvordan kan mysql indsætte millioner poster hurtigere?

  4. Forskellen mellem NullIf() og IfNull() i SQLite