V tomto tutoriálu se pomocí příkladů seznámíme s konceptem funkce názvu agregované funkce avg() v SQL.
Funkce AVG() je jednou z agregačních funkcí v SQL. Funkce AVG() funkce zobrazí průměr hodnot uvedených ve výrazu. Funkce AVG() je numerická funkce. Funkce AVG() umožňuje pouze jeden parametr. Funkce AVG() ignoruje hodnoty NULL.
Syntaxe funkce SELECT AVG() je následující:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, AVG(Column_Name) FROM Table_Name WHERE Expression;
Pojďme pochopit funkci AVG() pomocí příkladů
Zvažte již existující tabulku, která má následující data:
Název tabulky:- D_Students
ID_studenta | Jméno_studenta | First_Sem | Second_Sem | Third_Sem | Čtvrtý_sem | Pátý_sem | Šestý_sem | Celkem | ID_oddělení |
202111 | Vaishnavi 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 | Mahesh 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 |
Příklad 1: Proveďte dotaz a zjistěte průměr sloupce studenta za první semestr z tabulky D_Stundets.
SELECT AVG(First_Sem) AS 'First Semester Average' FROM D_Students;
Ve výše uvedeném příkladu dotazu funkce SELECT AVG() jsme zobrazili průměr sloupce studenta za první semestr
Výstup výše uvedeného dotazu je následující:
Průměr za první semestr |
83,1667 |
Příklad 2: Proveďte dotaz a zjistěte průměr z celkové skupiny sloupců studenta podle ID oddělení.
SELECT Department_Id, AVG(Total) AS 'Total Average' FROM D_Students GROUP BY Department_Id;
Ve výše uvedeném příkladu dotazu funkce SELECT AVG() jsme zobrazili celkovou průměrnou skupinu sloupců studenta podle ID oddělení.
Výstup výše uvedeného dotazu je:
ID_oddělení | Celkový průměr |
1 | 84 2500 |
2 | 79,6667 |
3 | 85,6667 |
4 | 83 0000 |
5 | 82 5000 |
Příklad 3:Proveďte dotaz k nalezení skupiny sloupců průměrného studenta pro první semestr až šestý semestr podle jména 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;
Ve výše uvedeném příkladu dotazu funkce SELECT AVG() zobrazujeme průměrnou skupinu studenta za první semestr až šestý semestr podle jména studenta. Použili jsme šest sloupců jako jeden parametr ve funkci průměru.
Výstup výše uvedeného dotazu je následující:
ID_studenta | Jméno_studenta | Celkový průměr |
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 | Mahesh Kumbhar | 77,33333333 |
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 | Vaishnavi Patil | 90,83333333 |
202222 | Venkatesh Iyer | 89,83333333 |
202113 | Yash Dhull | 89 00000000 |
Příklad 4: Proveďte dotaz a najděte průměr studentovy skupiny sloupců za první semestr až šestý semestr podle jména studenta a průměru většího než 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;
Ve výše uvedeném VYBERTE AVG () příklad funkčního dotazu, zobrazíme průměrnou skupinu studenta za první až šestý semestr podle jména studenta a průměr je větší než 75. V dotazu je použita klauzule HAVING.
Výstup výše uvedeného dotazu je následující:
ID_studenta | Jméno_studenta | Celkový průměr |
202224 | Aakash Jain | 77,66666667 |
202225 | Akshay Agarwal | 83,83333333 |
202221 | Anuja Wanare | 85 00000000 |
202115 | Axar Patel | 84,83333333 |
202117 | Mahesh Kumbhar | 77,33333333 |
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 | Vaishnavi Patil | 90,83333333 |
202222 | Venkatesh Iyer | 89,83333333 |
202113 | Yash Dhull | 89 00000000 |