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:
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!!