Hàm SQL AVG()
Hàm SQL AVG()
Hàm AVG()
trả về giá trị trung bình của một cột số.
Lưu ý: Giá trị NULL bị bỏ qua.
Cú pháp
SELECT AVG( column_name )
FROM table_name
WHERE condition ;
Cơ sở dữ liệu demo
Dưới đây là lựa chọn từ bảng Sản phẩm được sử dụng trong các ví dụ:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Thêm mệnh đề WHERE
Bạn có thể thêm mệnh đề WHERE
để chỉ định điều kiện:
Ví dụ
Trả về giá trung bình của các sản phẩm thuộc loại 1:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
Hãy tự mình thử »Sử dụng bí danh
Đặt tên cho cột AVG bằng cách sử dụng từ khóa AS
.
Ví dụ
Đặt tên cột “giá trung bình”:
SELECT AVG(Price) AS [average price]
FROM Products;
Hãy tự mình thử »Cao hơn mức trung bình
Để liệt kê tất cả các bản ghi có giá cao hơn mức trung bình, chúng ta có thể sử dụng hàm AVG()
trong truy vấn phụ:
Ví dụ
Trả lại tất cả các sản phẩm có giá cao hơn giá trung bình:
SELECT * FROM Products
WHERE price >
(SELECT AVG(price) FROM Products);
Hãy tự mình thử »Sử dụng AVG() với GROUP BY
Ở đây, chúng tôi sử dụng hàm AVG()
và mệnh đề GROUP BY
để trả về giá trung bình cho từng danh mục trong bảng Sản phẩm:
Ví dụ
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
Hãy tự mình thử » Bạn sẽ tìm hiểu thêm về mệnh đề GROUP BY
sau trong hướng dẫn này.