SQL Server AVG Funkcja

SQL Server AVG Funkcja

Cel: Ten samouczek ma pomóc ci zrozumieć, jak obliczyć średnią danego zestawu wartości na serwerze SQL za pomocą funkcji AVG ().

SQL Server AVG Funkcja

Funkcja AVG () jest funkcją agregatów, która pozwala określić średnią dla danego zestawu wartości. Funkcja zignoruje wartości zerowe na wejściu.

Poniżej pokazuje składnię funkcji AVG ():

AVG ([wszystkie | odrębne] wyrażenie)
[Over ([parition_by_clause] order_by_clause)]

Argumenty funkcyjne

Funkcja obsługuje następujące argumenty:

  1. WSZYSTKO - Wszystkie słowo kluczowe stosuje funkcję AVG () do wszystkich wartości w dostarczonym zestawie. Jest to domyślna opcja dla funkcji.
  2. ODRĘBNY - To słowo kluczowe pozwala zastosować funkcję tylko do odrębnych wartości danego zestawu. Ta opcja zignoruje wszystkie duplikaty wartości bez względu.
  3. wyrażenie - To określa zestaw wartości lub wyrażenie, które zwraca wartość liczbową.
  4. Over parition_by | order_by_clause - Określa to warunek użyty do podzielenia wyrażenia na różne partycje, w których stosuje się funkcję. Order_By_Clause określa kolejność wartości w wynikowych partycjach.

Wartość zwrócona funkcja będzie zależeć od typu danych wejściowych. Poniższa tabela pokazuje odpowiedni typ wyjścia dla danego typu wejściowego.

Typ wejścia Wynikowy typ
malutki int
int int
Smallint int
Bigint Bigint
pływak i prawdziwy platforma
Pieniądze/Smallmoney pieniądze
dziesiętny dziesiętny

Przykładowe użycie

Spójrzmy na przykładowe użycie funkcji AVG ().

Przykład 1 - Używanie AVG () z odrębnym

Poniższy przykład tworzy tabelę przykładową i wstawia niektóre losowe wartości.

Zrzuć bazę danych, jeśli istnieje próbka_db;
Utwórz bazę danych próbkę_db;
Użyj próbki_db;
Utwórz tabelę TBL (
Random int,
);
Wstaw do TBL (losowe)
Wartości (101), (69), (62), (99), (45), (80), (66), (61), (46), (28), (66);

W poniższym zapytaniu używamy funkcji AVG (), aby określić średnią dla różnych wartości w kolumnie, jak pokazano:

Wybierz AVG (odrębny losowy) jako średnia z TBL;

W takim przypadku funkcja oblicza średnią dla unikalnych wartości w kolumnie. Powstała wartość jest jak pokazana:

Przykład 2 - za pomocą funkcji AVG () ze wszystkimi

Aby umożliwić funkcję uwzględnienie duplikatów, możemy użyć wszystkich słów kluczowych, jak pokazano:

Wybierz AVG (wszystkie losowe) jako średnią z TBL;

W takim przypadku funkcja rozważa wszystkie jedenaście wartości zamiast 10, jak wcześniej zastosowano.

NOTATKA: W zależności od rodzaju, wartość może zostać zaokrąglona, ​​dzięki czemu użycie wszystkich i odrębne nieistotne.

Na przykład:

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

Jak widać z powyższego wyjścia, różnica jest wyświetlana głównie, gdy wynikowy typ jest wartością zmiennoprzecinkową.

Korzystanie z funkcji AVG z grupą według klauzuli

Rozważ tabelę podaną poniżej:

Możemy obliczyć średnią cenę dla każdego produktu przez danego producenta za pomocą funkcji grupy według klauzuli i avg (), jak pokazano poniżej:

Wybierz producent, AVG (cena) jako „średnia cena”, suma (ilość) jako „w magazynie”
z produktów
grupa przez producenta;

Powyższe zapytanie powinno zorganizować wiersze w różne partycje na podstawie producenta. Następnie obliczamy średnią cenę dla wszystkich produktów w każdej partycji.

Powstała tabela jest jak pokazana:

Wniosek

W tym poście omówiliśmy podstawy pracy z funkcją AVG na serwerze SQL, aby określić średnią dla danego zestawu wartości.

Dziękuje za przeczytanie!!