Aggregatfunktionen (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsSQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Eine Aggregatfunktion im Microsoft SQL-Datenbankmodul führt eine Berechnung für eine Gruppe von Werten aus und gibt einen einzelnen Wert zurück.

  • Mit Ausnahme von COUNT(*)Aggregatfunktionen werden Werte ignoriert NULL .
  • Aggregierte Funktionen werden häufig zusammen mit der GROUP BY Klausel der SELECT Aussage verwendet.
  • Sofern nicht anders angegeben, sind aggregierte Funktionen deterministisch. Dies bedeutet, dass Aggregatfunktionen bei jedem Aufruf mit bestimmten Eingabewerten immer den gleichen Wert zurückgeben. Zum Beispiel sind APPROX_MEDIAN und APPROX_QUANTILE nicht deterministisch. Weitere Informationen zum Funktionsdeterminismus finden Sie unter Deterministische und nichtdeterministische Funktionen .
  • Die OVER-Klausel kann allen aggregierten Funktionen folgen, mit Ausnahme der STRING_AGG, GROUPING, oder GROUPING_ID Funktionen.
  • Verwenden Sie aggregierte Funktionen als Ausdrücke nur in der Auswahlliste einer SELECT Anweisung (entweder einer Unteranfrage oder einer äußeren Abfrage) oder in einer HAVING Klausel.

Die Microsoft SQL Datenbank-Engine bietet die folgenden aggregierten Funktionen auf einigen oder allen Plattformen. Siehe jeden Syntaxartikel für relevante Plattformen.

  • ANY_VALUE - Wählt einen beliebigen Wert aus den Zeilen einer Gruppe und gibt ihn zurück.
  • APPROX_COUNT_DISTINCT - Gibt eine ungefähre Anzahl unterschiedlicher nicht-nuller Werte mit einem speichereffizienten Algorithmus zurück.
  • APPROX_MEDIAN - Gibt einen ungefähren Medianwert für eine Wertmenge zurück.
  • APPROX_PERCENTILE_CONT - Gibt einen ungefähren Perzentilwert mittels kontinuierlicher Interpolation zurück.
  • APPROX_PERCENTILE_DISC - Gibt einen ungefähren Perzentilwert zurück, der aus den tatsächlichen Datenwerten ausgewählt wurde.
  • APPROX_QUANTILE - Gibt einen ungefähren Quantilwert für eine bestimmte Quantilposition zurück.
  • AVG – Berechent den Durchschnitt der Werte in einer Gruppe.
  • CHECKSUM_AGG - Gibt einen Prüfsummenwert zurück, der über die Werte einer Gruppe berechnet wurde.
  • COUNT – Gibt die Anzahl der Zeilen oder nicht-nullen Werte in einer Gruppe zurück.
  • COUNT_BIG - Gibt die Anzahl der Zeilen oder nicht-nullen Werte in einer Gruppe als Bigott-Typ zurück.
  • GROUPING – Gibt an, ob ein Spaltenwert in einer Ergebniszeile durch eine Gruppierungsoperation aggregiert wurde.
  • GROUPING_ID - Gibt eine Bitmaske zurück, die identifiziert, welche Spalten in einer Gruppierungsmenge aggregiert wurden.
  • PRODUKT – Gibt das Produkt der nicht-nullen Werte in einer Gruppe zurück.
  • MAX – Gibt den maximalen Wert in einer Gruppe zurück.
  • MEDIAN – Gibt den Medianwert der Werte in einer Gruppe zurück.
  • MIN – Gibt den Mindestwert in einer Gruppe zurück.
  • PERCENTILE_CONT - berechnet ein Perzentil basierend auf einer stetigen Verteilung des Spaltenwerts.
  • PERCENTILE_DISC - Berechent ein bestimmtes Perzentil für sortierte Werte in einem gesamten Zeilensatz oder innerhalb der unterschiedlichen Partitionen eines Zeilensatzes.
  • QUANTILE – Gibt den Wert zurück, der einem bestimmten Quantil innerhalb einer Gruppe entspricht.
  • STDEV – Gibt die Stichproben-Standardabweichung der Werte in einer Gruppe zurück.
  • STDEVP – Gibt die Populationsstandardabweichung der Werte in einer Gruppe zurück.
  • STRING_AGG - Verkettet Zeichenkettenwerte aus mehreren Zeilen zu einer einzigen Zeichenkette.
  • SUM – Gibt die Summe der Werte in einer Gruppe zurück.
  • VAR – Gibt die Stichprobenvarianz der Werte in einer Gruppe zurück.
  • VARP – Gibt die Populationsvarianz der Werte in einer Gruppe zurück.