Hàm AVG() Tính Giá Trị Trung Bình Trong Sql
Có thể bạn quan tâm
Hàm AVG() tính giá trị trung bình của các giá trị trong một nhóm. Những giá trị null (rỗng/trống) bỏ qua, không tính.
Cú pháp:
AVG ([ALL | DISTINCT] expression)
Trong đó:
- ALL: tính giá trị trung bình cho tất cả các giá trị có trong dữ liệu cần tính. ALL được mặc định.
- DISTINCT: chỉ tính trung bình trên những giá trị duy nhất, những giá trị lặp lại được tính là 1 lần.
- expression: biểu thức tính giá trị trung bình, biểu thức phải là kiểu số (number), ngoại trừ kiểu dữ liệu bit. Những hàm tính gọp (aggregate functions) và truy vấn lồng (subqueries) không được hỗ trợ.
Giả sử bạn có bảng IS_SickBenefit lưu % các loại bảo hiểm để nhận bảo hiểm khi bạn ốm đau.
Bảng IS_SickBenefit gồm 3 cột sau:
– Index: kiểu int, khóa chính
– Type: kiểu nvarchar, lưu loại bảo hiểm được hưởng trợ cấp ốm đau
– PercentBenefit: kiểu double lưu phần trăm được hưởng trợ cấp ốm đau
Giả sử, ta có bảng dữ liệu như sau:
Index | Type | PercentBenefit |
1 | Bảng thân ốm ngắn ngày | 75 |
2 | Ốm dài ngày | 75 |
3 | Dưỡng sức | 25 |
4 | Con ốm | 75 |
Bây giờ chúng ta sẽ tính giá trị trung bình cho % bảo hiểm được nhận, ta sử dụng cả ALL và DISTINCT
-- Câu 1: Dùng ALL SELECT AVG(PercentBenefit) AS avgPercentage FROM IS_SickBenefit -- => Kết quả: 62.5 -- Câu 2: Dùng DISTINCT SELECT AVG(DISTINCT PercentBenefit) AS avgPercentage FROM IS_SickBenefit -- Kết quả: 50Giải thích:
– Câu 1: được hiểu ngầm là ALL (bạn có thể thêm từ ALL vào trước PercentBenefit trong câu truy vấn (query)), nên kết quả trung bình được tính như sau, lấy tổng của cột PercentBenefit sau đó chia cho tổng số dòng có dữ liệu khác rỗng (ở đây có 4 dòng từ dòng 1 đến dòng 4):
(75 + 75 + 25 + 75)/4 = 62.5
– Câu 2: dùng từ khóa DISTINCT, nên những giá trị lập lại chỉ được tính một lần. Trong bản dữ liệu trên 75% xuất hiện 3 lần, nhưng chỉ được tính một lần, cho nên tổng số dòng sẽ là 2 (1 của 75%, 1 của 25%), kết quả trung bình được tính như sau:
(75 + 25)/2 = 50
Chúc mọi người thành công!
Từ khóa » Tính điểm Trung Bình Môn Học Trong Sql
-
Chủ đề: Tính Trung Bình Trong SQL - Diễn Đàn Tin Học
-
Hàm AVG Trong SQL Server
-
/forum/p?t=5939
-
Tìm điểm Lớn Nhất Trong Mỗi Môn Học Của Mỗi Người Rồi Tính điểm ...
-
Group By Having Trong SQL Server | How Kteam
-
Câu Lệnh SQL Nào Sử Dụng để Tính điểm Thi ... - Trắc Nghiệm Online
-
Tính điểm Trung Bình Từ Dữ Liệu Trong Database? [Archive]
-
Hàm AVG Trong SQL | 79 Bài Học SQL Hay Nhất
-
Bài Tập Lớn Môn SQL Quản Lý điểm Sinh Viên - Tài Liệu Text - 123doc
-
Hàm AVG Trong SQL Server
-
AVG - Hàm Tính Trung Bình - SQL & Database
-
Hướng Dẫn Cách Tính điểm Trung Bình Môn Cho Học Sinh Và Sinh Viên ...
-
Bài 3: Câu Lệnh Truy Vấn Dữ Liệu Trong SQL | Tìm ở đây
-
Câu Lệnh SQL Nào Sử Dụng để Tính điểm Thi Trung Bình Cho Bài Kiểm ...