W tym samouczku na podstawie przykładów poznamy koncepcję funkcji avg() w języku SQL o nazwie funkcji agregującej.
Funkcja AVG() jest jedną z funkcji agregujących w SQL. AVG() funkcja wyświetla średnią wartości wymienionych w wyrażeniu. Funkcja AVG() jest funkcją numeryczną. Funkcja AVG() dopuszcza tylko jeden parametr. Funkcja AVG() ignoruje wartości NULL.
Składnia funkcji SELECT AVG() jest następująca:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, AVG(Column_Name) FROM Table_Name WHERE Expression;
Zrozummy funkcję AVG() za pomocą przykładów
Rozważ istniejącą już tabelę, która zawiera następujące dane:
Nazwa tabeli:- D_Studenci
Identyfikator studenta | Nazwa_ucznia | Pierwszy_Sem | Second_Sem | Third_Sem | Czwarty_Sem | Piąty_Sem | Szósty_Sem | Łącznie | Identyfikator wydziału |
202111 | Waisznawi Patil | 94 | 91 | 88 | 85 | 95 | 92 | 91 | 1 |
202112 | Vaibhav Lokhande | 85 | 90 | 92 | 80 | 85 | 82 | 86 | 2 |
202113 | Yash Dhull | 90 | 88 | 94 | 87 | 85 | 90 | 89 | 3 |
202114 | Sonali Patole | 95 | 90 | 92 | 88 | 92 | 90 | 91 | 4 |
202115 | Axar Patel | 85 | 80 | 82 | 86 | 92 | 84 | 85 | 1 |
202116 | Meena Mishra | 78 | 75 | 80 | 74 | 85 | 77 | 78 | 3 |
202117 | Mahesz Kumbhar | 75 | 80 | 75 | 78 | 80 | 76 | 77 | 5 |
202118 | Sakshi Patil | 80 | 78 | 74 | 78 | 80 | 77 | 78 | 2 |
202119 | Sopan Bhore | 70 | 68 | 75 | 75 | 80 | 80 | 75 | 2 |
202220 | Prajwal Lokhande | 80 | 85 | 85 | 75 | 78 | 80 | 81 | 4 |
202221 | Anuja Wanare | 85 | 88 | 86 | 82 | 84 | 85 | 85 | 5 |
202222 | Venkatesh Iyer | 90 | 89 | 87 | 90 | 92 | 91 | 90 | 3 |
202223 | Anushka Sen | 70 | 75 | 71 | 74 | 80 | 78 | 75 | 1 |
202224 | Aakash Jain | 80 | 75 | 72 | 74 | 85 | 80 | 78 | 4 |
202225 | Akshay Agarwal | 85 | 80 | 78 | 88 | 90 | 82 | 84 | 5 |
202226 | Shwetali Bhagwat | 90 | 80 | 85 | 88 | 90 | 80 | 86 | 1 |
202227 | Mayuri Wagh | 80 | 80 | 85 | 80 | 82 | 85 | 82 | 4 |
202228 | Utkarsh Rokade | 85 | 80 | 80 | 90 | 84 | 84 | 84 | 5 |
Przykład 1: Wykonaj zapytanie, aby znaleźć średnią kolumny studenta pierwszego semestru z tabeli D_Stundets.
SELECT AVG(First_Sem) AS 'First Semester Average' FROM D_Students;
Wyświetliliśmy średnią kolumnową studenta z pierwszego semestru w powyższym przykładzie zapytania funkcji SELECT AVG()
Wynik powyższego zapytania jest następujący:
Średnia z pierwszego semestru |
83.1667 |
Przykład 2: Wykonaj zapytanie, aby znaleźć średnią całej grupy kolumn ucznia według identyfikatora działu.
SELECT Department_Id, AVG(Total) AS 'Total Average' FROM D_Students GROUP BY Department_Id;
W powyższym przykładzie zapytania funkcji SELECT AVG() wyświetliliśmy całkowitą średnią kolumnową grupy ucznia według identyfikatora działu.
Wynikiem powyższego zapytania jest:
Identyfikator wydziału | Całkowita średnia |
1 | 84.2500 |
2 | 79,6667 |
3 | 85.6667 |
4 | 83.0000 |
5 | 82.5000 |
Przykład 3:Wykonaj zapytanie, aby znaleźć grupę kolumn przeciętnego studenta od pierwszego do szóstego semestru według nazwiska studenta.
SELECT Student_Id, Student_Name, AVG(First_Sem + Second_Sem +Third_Sem + Fourth_Sem + Fifth_Sem + Sixth_Sem)/6 AS 'OverAll Average' FROM D_Students GROUP BY Student_Name;
W powyższym przykładzie kwerendy funkcji SELECT AVG() wyświetlamy średnią grupę uczniów z pierwszego do szóstego semestru według nazwiska ucznia. Użyliśmy sześciu kolumn jako jednego parametru w funkcji średniej.
Wynik powyższego zapytania jest następujący:
Identyfikator studenta | Nazwa_ucznia | Ogólna średnia |
202224 | Aakash Jain | 77.66666667 |
202225 | Akshay Agarwal | 83.83333333 |
202221 | Anuja Wanare | 85.00000000 |
202223 | Anushka Sen | 74.66666667 |
202115 | Axar Patel | 84.83333333 |
202117 | Mahesz Kumbhar | 77.333333333 |
202227 | Mayuri Wagh | 82.00000000 |
202116 | Meena Mishra | 78.16666667 |
202220 | Prajwal Lokhande | 80.50000000 |
202118 | Sakshi Patil | 77.83333333 |
202226 | Shwetali Bhagwat | 85.50000000 |
202114 | Sonali Patole | 91.16666667 |
202119 | Sopan Bhore | 74.66666667 |
202228 | Utkarsh Rokade | 83.83333333 |
202112 | Vaibhav Lokhande | 85.66666667 |
202111 | Waisznawi Patil | 90.83333333 |
202222 | Venkatesh Iyer | 89.83333333 |
202113 | Yash Dhull | 89.00000000 |
Przykład 4: Wykonaj zapytanie, aby znaleźć średnią grupy kolumn ucznia od pierwszego do szóstego semestru według nazwiska ucznia i średniej większej niż 75.
SELECT Student_Id, Student_Name, AVG(First_Sem + Second_Sem +Third_Sem + Fourth_Sem + Fifth_Sem + Sixth_Sem)/6 AS 'OverAll Average' FROM D_Students GROUP BY Student_Name HAVING AVG(First_Sem + Second_Sem +Third_Sem + Fourth_Sem + Fifth_Sem + Sixth_Sem)/6 > 75;
W powyższym WYBIERZ AVG () przykład zapytania funkcji, wyświetlamy średnią grupę studentów od pierwszego do szóstego semestru według nazwiska studenta, a średnia jest większa niż 75. W zapytaniu użyto klauzuli HAVING.
Wynik powyższego zapytania jest następujący:
Identyfikator studenta | Nazwa_ucznia | Ogólna średnia |
202224 | Aakash Jain | 77.66666667 |
202225 | Akshay Agarwal | 83.83333333 |
202221 | Anuja Wanare | 85.00000000 |
202115 | Axar Patel | 84.83333333 |
202117 | Mahesz Kumbhar | 77.333333333 |
202227 | Mayuri Wagh | 82.00000000 |
202116 | Meena Mishra | 78.16666667 |
202220 | Prajwal Lokhande | 80.50000000 |
202118 | Sakshi Patil | 77.83333333 |
202226 | Shwetali Bhagwat | 85.50000000 |
202114 | Sonali Patole | 91.16666667 |
202228 | Utkarsh Rokade | 83.83333333 |
202112 | Vaibhav Lokhande | 85.66666667 |
202111 | Waisznawi Patil | 90.83333333 |
202222 | Venkatesh Iyer | 89.83333333 |
202113 | Yash Dhull | 89.00000000 |