samenvatting: in deze tutorial leert u hoe u de SQL Server GROUP BY
clausule gebruikt om rijen in groepen te rangschikken op één of meer kolommen.
Introduction to SQL Server GROUP BY clause
deGROUP BY
clausule stelt u in staat om de rijen van een query in groepen te rangschikken. De groepen worden bepaald door de kolommen die u opgeeft in deGROUP BY
clausule.,
het volgende illustreert de syntaxis van GROUP BY
:
Code language: SQL (Structured Query Language) (sql)
in deze query produceerde de GROUP BY
een groep voor elke combinatie van de waarden in de kolommen in de GROUP BY
clausule.
beschouw het volgende voorbeeld:
in dit voorbeeld hebben we de klant-id en het bestelde jaar van de klanten met de klant-id één en twee opgehaald.,
zoals u duidelijk kunt zien aan de output, heeft de klant met het id één bestelling geplaatst in 2016 en twee bestellingen in 2018. De klant met id two heeft in 2017 twee bestellingen geplaatst en in 2018 één bestelling.
laten we een GROUP BY
clausule toevoegen aan de query om het effect te zien:
de GROUP BY
clausule rangschikte de eerste drie rijen in twee groepen en de volgende drie rijen in de andere twee groepen met de unieke combinaties van de klant ID en order jaar.,
functioneel gezien leverde deGROUP BY
clausule in de bovenstaande query hetzelfde resultaat op als de volgende query die deDISTINCT
clausule gebruikt:
SQL Server GROUP BY clausule en aggregate functies
in de praktijk wordt deGROUP BY
clausule vaak gebruikt met geaggregeerde functies voor het genereren van samenvattende rapporten.
de GROUP BY
clausule rangschikt rijen in groepen en een geaggregeerde functie retourneert de samenvatting (count, min, max, average, sum, etc.,) voor elke groep.,
bijvoorbeeld, de volgende query geeft het aantal door de klant geplaatste orders per jaar terug:
Als u wilt verwijzen naar een kolom of uitdrukking die niet in de GROUP BY
– clausule, u moet die kolom gebruiken als de invoer van een aggregaatfunctie. Anders krijgt u een fout omdat er geen garantie is dat de kolom of expressie een enkele waarde per groep retourneert., Bijvoorbeeld, de volgende query zal mislukken:
meer groepsgewijze bijzin voorbeelden
laten we wat meer voorbeelden nemen om te begrijpen hoe de GROUP BY
clausule werkt.
gebruikmakend van groep door clausule met de COUNT() functie voorbeeld
De volgende query geeft het aantal klanten in elke stad:
In dit voorbeeld geeft de GROUP BY
clausule groepeert de klanten samen per stad en de COUNT()
functie geeft het aantal klanten in elke stad.,
evenzo geeft de volgende query het aantal klanten per staat en stad terug.
met Behulp van de GROUP BY-component met de MIN-en MAX-functies voorbeeld
De volgende verklaring geeft de minimale en maximale lijst met prijzen van alle producten met het model in 2018 door merk:
In dit voorbeeld is de WHERE
component wordt verwerkt voordat de GROUP BY
component, zoals altijd.,v>
met Behulp van de GROUP BY-component met de SOM-functie voorbeeld
Zie de volgende order_items
tabel:
De volgende query gebruikt de SUM()
functie om de netto waarde van elke bestelling:
In deze les hebt u geleerd hoe u de SQL Server GROUP BY
component te regelen rijen in groepen door een opgegeven lijst van kolommen.,