SQL Server AVG -Funktion

SQL Server AVG -Funktion

Ziel: Dieses Tutorial zielt darauf ab, zu verstehen.

SQL Server AVG -Funktion

Die AVG () -Funktion ist eine Aggregatfunktion, mit der Sie den Durchschnitt für einen bestimmten Wertsatz ermitteln können. Die Funktion ignoriert Nullwerte in der Eingabe.

Das Folgende zeigt die Syntax der AVG () -Funktion:

AVG ([alle | unterschiedlicher] Ausdruck)
[Over ([partition_by_clause] order_by_clause)]]]

Funktionsargumente

Die Funktion unterstützt die folgenden Argumente:

  1. ALLE - Das All -Schlüsselwort wendet die Funktion AVG () auf alle Werte im angegebenen Satz an. Dies ist die Standardoption für die Funktion.
  2. UNTERSCHEIDBAR - Mit diesem Schlüsselwort können Sie die Funktion nur auf die unterschiedlichen Werte des angegebenen Satzes anwenden. Diese Option ignoriert alle doppelten Werte unabhängig von der Anzahl, mit der der Wert im Satz auftritt.
  3. Ausdruck - Dies definiert einen Satz von Werten oder einen Ausdruck, der einen numerischen Wert zurückgibt.
  4. Over partition_by | order_by_clause - Dies gibt an, die Bedingung, die verwendet wird, um den Ausdruck in verschiedene Partitionen zu unterteilen, in denen die Funktion angewendet wird. Die Order_By_Clause definiert die Reihenfolge für die Werte in den resultierenden Partitionen.

Der Funktionsrückgabewert hängt vom Eingabetatyp ab. Die folgende Tabelle zeigt den entsprechenden Ausgangstyp für einen bestimmten Eingangstyp.

Eingabetyp Resultierender Typ
Tinyint int
int int
Smallint int
Bigint Bigint
schweben und real schweben
Geld/Smallmone Geld
Dezimal Dezimal

Beispiel Verwendung

Sehen wir uns eine Beispielverwendung für die AVG () -Funktion an.

Beispiel 1 - Verwenden der AVG () mit unterschiedlich

Das folgende Beispiel erstellt eine Beispieltabelle und fügt einige zufällige Werte ein.

Datenbank fallen, wenn exists sample_db;
Datenbank erstellen sample_db;
verwenden sample_db;
Tabelle TBL erstellen (
zufälliger int,
);
In TBL einfügen (zufällig)
Werte (101), (69), (62), (99), (45), (80), (66), (61), (46), (28), (66);

In der folgenden Abfrage verwenden wir die AVG () -Funktion, um den Durchschnitt für die unterschiedlichen Werte in der Spalte zu bestimmen, wie gezeigt:

Wählen Sie AVG (eindeutig zufällig) als Durchschnitt aus TBL;

In diesem Fall berechnet die Funktion den Durchschnitt für eindeutige Werte in der Spalte. Der resultierende Wert ist wie gezeigt:

Beispiel 2 - Verwenden der AVG () -Funktion mit allen

Damit die Funktion doppelte Werte einbezieht, können wir das gesamte Schlüsselwort wie gezeigt verwenden:

Wählen Sie AVG (alle zufällig) als Durchschnitt von TBL;

In diesem Fall berücksichtigt die Funktion alle elf Werte anstelle von 10, wie zuvor angewendet.

NOTIZ: Abhängig vom resultierenden Typ kann der Wert abgerundet werden, was die Verwendung von allen und unverzichtbar macht.

Zum Beispiel:

101+69+62+99+45+80+66+61+46+28+66/11 = 65.7272727273
101+69+62+99+45+80+66+61+46+28/10 = 65.7

Wie Sie aus der obigen Ausgabe erkennen können, wird die Differenz hauptsächlich angezeigt, wenn der resultierende Typ ein schwimmender Punktwert ist.

Verwenden der AVG -Funktion mit Gruppen nach Klausel

Betrachten Sie die unten angegebene Tabelle:

Wir können den Durchschnittspreis für jedes Produkt durch einen bestimmten Hersteller berechnen, der die Gruppe für Klausel und AVG () -Funktion verwendet, wie unten dargestellt:

Wählen Sie Hersteller, AVG (Preis) als "Durchschnittspreis", Summe (Menge) als "auf Lager" aus
aus Produkten
Gruppe durch Hersteller;

Die obige Abfrage sollte die Zeilen in verschiedenen Partitionen basierend auf dem Hersteller organisieren. Anschließend berechnen wir den Durchschnittspreis für alle Produkte in jeder Partition.

Die resultierende Tabelle ist wie gezeigt:

Abschluss

In diesem Beitrag haben wir die Grundlagen der Arbeit mit der AVG.

Danke fürs Lesen!!