Hàm AVG trong SQL
Hàm AVG trong SQL được sử dụng để tìm giá trị trung bình của một trường của các bản ghi đa dạng.
Để hiểu hàm AVG, bạn theo dõi bảng MUONSACH có các bản ghi sau:
SQL> SELECT * FROM MUONSACH; +----+---------+-----+-----------+--------+ | ID | TEN | TUOI| KHOAHOC | SOTIEN | +----+---------+-----+-----------+---------+ | 1 | Hoang | 21 | CNTT | 400000 | | 2 | Viet | 19 | DTVT | 320000 | | 3 | Thanh | 18 | KTDN | 400000 | | 4 | Nhan | 19 | CK | 450000 | | 5 | Huong | 20 | TCNH | 500000 | | 5 | Huong | 20 | TCNH | 210000 | +----+---------+-----+-----------+---------+ 6 rows in set (0.00 sec)
Bây giờ giả sử, dựa trên bảng trên, bạn muốn tính giá trị trung bình của tất cả SOTIEN, thì bạn có thể thực hiện điều này bởi sử dụng lệnh:
SQL> SELECT AVG(SOTIEN) -> FROM MUONSACH; +-------------------------+ | AVG(SOTIEN) | +-------------------------+ | 380000.0000 | +-------------------------+ 1 row in set (0.03 sec)
Bạn có thể tính giá trị trung bình của các tập hợp bản ghi đa dạng bởi sử dụng mệnh đề GROUP BY. Ví dụ sau tính giá trị trung bình của tất cả bản ghi liên quan tới một người và bạn sẽ thực hiện như sau:
SQL> SELECT TEN, AVG(SOTIEN) -> FROM MUONSACH GROUP BY TEN; +------+-------------------------+ | TEN | AVG(SOTIEN) | +------+-------------------------+ | Hoang | 400000.0000 | | Huong | 355000.0000 | | Nhan | 450000.0000 | | Thanh | 400000.0000 | | Viet | 320000.0000 | +------+-------------------------+ 5 rows in set (0.20 sec)