Hàm AVG trong SQL Server
AVG trong SQL Server là gì? Cách dùng hàm AVG trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
Nếu đang tìm hiểu ngành nghề nào được “săn đón” nhất hiện nay, nhất định bạn sẽ nhận được nhiều câu trả lời về lập trình. Đây là cái nôi cho sự ra đời của rất nhiều sản phẩm, ứng dụng, trang web… khiến cuộc sống của con người trở nên thú vị hơn.
Thế giới lập trình vô cùng đa dạng và phong phú với nhiều ngôn ngữ khác nhau. Bạn không nhất thiết phải nắm vững tất cả, chỉ cần gắn liền với những lựa chọn phù hợp nhất. Tuy nhiên, nhất định cần biết về SQL Server.
SQL Server là một phương thức mà bất kỳ ai làm lập trình cũng cần biết. Giống như Python, SQL Server có rất nhiều hàm với chức năng khác nhau. Bạn cần hiểu rõ về chúng để sử dụng SQL Server thật tốt.
Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý số AVG() trong SQL Server với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.
Hàm AVG() trong SQL Server là gì?
Hàm tính trung bình trong SQL Server là một phần của hàm tổng hợp. Hàm này được dùng để tính giá trị trung bình của một biểu thức. Hàm này bỏ qua các giá trị NULL. Tuy nhiên, khi tập kết quả không có bất kỳ hàng nào, nó trả về NULL. Hàm tính trung bình SQL Server luôn được dùng với lệnh SELECT. Hàm này chỉ chấp nhận một tham số, có thể là cột hoặc một biểu thức hợp lệ và trả về một kết quả đơn lẻ để tóm tắt tập dữ liệu nhập vào. Nó cũng có thể hoạt động với mệnh đề WHERE, GROUP BY, ORDER BY và HAVING để cho kết quả được lọc.
Đặc điểm nổi bật của hàm AVG() trong SQL Server
- Hàm này được dùng để tìm giá trị trung bình của biểu thức cụ thể.
- Hàm này nằm trong các hàm số.
- Hàm này chỉ chấp nhận một tham số, đó là biểu thức.
- Hàm này bỏ qua các giá trị NULL.
Công thức:
AVG(expression)
Ví dụ mẫu cơ bản:
CREATE TABLE product
(
user_id int IDENTITY(100, 2) NOT NULL,
product_1 VARCHAR(10),
product_2 VARCHAR(10),
price int
);
INSERT product(product_1, price)
VALUES ('rice', 400);
INSERT product(product_2, price)
VALUES ('grains', 600);
SELECT AVG(price) FROM product;
Kết quả: 50
Giờ hãy cùng Quantrimang.com xem xét một giá trị thực tế:
Để tính giá trị trung bình, ta sử dụng hàm AVG trong SQL Server cú pháp như sau:
SELECT AVG(cot)
FROM bang
[WHERE dieukien];
Tham số:
- cot: cột hoặc giá trị tính toán, biểu thức mà bạn muốn tính trung bình
- bang: bảng dùng để lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
- dieukien: tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được chọn.
Lưu ý:
- Hàm AVG có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.
Ví dụ
Hãy xem và khám phá một số ví dụ về hàm AVG trong SQL Server.
Giả sử, ta có bảng dữ liệu như sau:
Ví dụ 1: Tính số lượng số bài viết trung bình của website Quantrimang
SELECT AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;
Result: So bai trung binh 128.2
Ở ví dụ này ta tính giá trị trung bình cho tất cả các giá trị có trong dữ liệu cần tính, nên kết quả trung bình được tính như sau, lấy tổng của cột Sobai sau đó chia cho tổng số dòng có dữ liệu khác rỗng có giá trị lớn hơn 100.
Ví dụ 2: Sử dụng DISTINCT
SELECT AVG(DISTINCT Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;
Result: So bai trung binh 135
Ví dụ này 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ảng dữ liệu cho trước, giá trị “101” xuất hiện 2 lần, nhưng chỉ được tính một lần, cho nên tổng số dòng được tính sẽ là 4, kết quả trung bình được tính như sau:
(152 + 101 + 122 + 165)/4 = 135
Ví dụ 3: Tính giá trị trung bình theo cột được chỉ định của các dòng được chọn
Để tính giá trị trung bình theo cột được chỉ định của các dòng được chọn, ta 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 chuyên mục lớn và bạn sẽ thực hiện như sau:
SELECT Chuyenmuclon, AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
GROUP BY Chuyenmuclon;
Result:
Chuyenmuclon So bai trung binh
Laptrinh 108
Mang xa hoi 158.5
Trinh duyet web 94
Ví dụ 4: Hàm AVERAGE với mệnh đề HAVING
SQL Server dùng mệnh đề HAVING để lọc các hàng theo nhóm, mệnh đề này luôn cần tới GROUP BY để cho kết quả. Ví dụ bên dưới sẽ dùng mệnh đề HAVING với hàm AVG(). Nó tính trung bình giờ làm việc của nhân viên ở mỗi ngành nghề, sau đó kiểm tra hàm tổng hợp này xem nó có lớn hơn 10 hay không. Nếu đúng, kết quả tương ứng trả về thứ tự tăng dần của giá trị trung bình được tổng hợp:
SELECT occupation, AVG(working_hours) AS "Average Working Hours"
FROM employee_info
GROUP BY occupation
HAVING AVG(working_hours)>10
ORDER BY AVG(working_hours);
Kết quả:
Chạy lệnh này sẽ trả về số giờ làm việc trung bình của nhân viên lớn hơn 10 theo từng công việc:
Hàm AVERAGE với ORDER BY
SQL Server dùng mệnh đề ORDER BY để phân loại bảng theo thứ tự tăng hoặc giảm dần. Ví dụ bên dưới sẽ dùng hàm AVG() với mệnh đề ORDER BY, tính giờ làm việc trung bình của nhân viên theo từng vị trí, rồi phân loại nhóm kết quả theo thứ tự giảm dần của giá trị trung bình được tổng hợp:
SELECT occupation, AVG(working_hours) AS "Average Working Hours"
FROM employee_info
GROUP BY occupation
ORDER BY AVG(working_hours) DESC;
Triển khai lệnh này sẽ hiện kết quả theo thứ tự giảm dần dựa trên giá trị trung bình được tổng hợp:
Bạn nên đọc
Cũ vẫn chất
-
5 cách tắt Update Windows 11, ngừng cập nhật Win 11
Hôm qua 14 -
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Pantheon DTCL 7.5: Lên đồ, đội hình mạnh
Hôm qua -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
Cách vô hiệu hóa BitLocker trong Windows 10
Hôm qua -
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua -
Cách sửa file MP4 bị hỏng với thủ thuật đơn giản
Hôm qua