Hướng dẫn sử dụng group by và các hàm aggregate function trong SQL
Dữ liệu được sử dụng để thực hiện phân tích và thống kê, trở thành một công việc phổ biến. Để giúp bạn thực hiện công việc này một cách tốt nhất, dưới đây FUNiX sẽ hướng dẫn bạn cách sử dụng group by và các hàm aggregate function trong SQL.
Table of Contents
1. Hướng dẫn sử dụng Group by trong SQL
Tìm hiểu về group by và các hàm aggregate function trong SQL, trước hết bạn cần biết Group by trong SQL là gì?
Mệnh đề Group by trong SQL cho phép chúng ta sắp xếp các hàng của truy vấn theo nhóm. Các nhóm được xác định bởi các cột mà bạn chỉ định trong mệnh đề Group by. Mệnh đề Group By là bắt buộc nếu bạn thực hiện một function tính toán trong câu Select.
Cú pháp mệnh đề Group by trong SQL:
SELECT column1, column2,… column_n, ham_tong_hop (column) FROM table_name [WHERE dieukien] GROUP BY column1, column2,…; |
Trong đó:
- column1, column2,… column_n là các chỉ tiêu không nằm bên trong hàm tổng hợp và phải nằm trong mệnh đề Group by.
- ham_tong_hop là các hàm như SUM, COUNT, MIN, MAX hoặc AVG.
- Table_name là bảng cần lấy bản ghi từ đó, phải có ít nhất 1 bảng trong mệnh đề FROM.
- WHERE dieukien: để được chọn bản ghi cần đáp ứng điều kiện này
Lưu ý: Mệnh đề Group by phải theo sau các điều kiện trong mệnh đề WHERE và đứng trước mệnh đề ORDER BY nếu được sử dụng
>>> Xem thêm: SQL Series 3- Ý nghĩa các từ khóa trong SQL
Ví dụ: Giả sử bảng DANHSACHKHACHHANG có các bản ghi như sau:
ID |
TEN |
DIA CHI |
DONHANG |
1 |
Trung |
HCM |
100 |
2 |
Ngoc |
DongNai |
54 |
3 |
Hoa |
LamDong |
211 |
4 |
Manh |
QuyNhon |
36 |
5 |
Tri |
NhaTrang |
158 |
Nếu bạn muốn biết tổng số đơn hàng của mỗi nhân viên, thì truy vấn GROUP BY sẽ như sau:
SQL> SELECT TEN, SUM(DONHANG) FROM DANGSACHKHACHHANG
GROUP BY TEN;
Kết quả trả về là:
TEN |
DONHANG |
Trung |
100 |
Ngoc |
54 |
Hoa |
211 |
Manh |
36 |
Tri |
158 |
>>> Xem thêm: SQL Series 5- Bài tập thực hành tạo cơ sở dữ liệu và các bảng
2. Hướng dẫn sử dụng các hàm aggregate function trong SQL
Tìm thông tin vềgroup by và các hàm aggregate function trong SQL, ngoài thông tin cần biết về Group by bạn cần biết hàm Aggregate Function là gì?
Hàm Aggregate Function trong group by và các hàm aggregate function trong SQL hay còn gọi là hàm tập hợp là các hàm toán học tổng cộng một tập hợp các giá trị để cho một giá trị kết quả duy nhất.
Các hàm tập hợp thường được sử dụng trong cơ sở dữ liệu, bảng tính và nhiều phần mềm thao tác dữ liệu phổ biến khác.
Để cải thiện cách thực hiện các tính toán khi sử dụng máy tính, bạn có thể sử dụng các hàm tập hợp để tạo ra kết quả nhanh nhất. Đồng thời có thể điều chỉnh trọng số dựa trên độ tin cậy của người dùng đối với dữ liệu.
Các hàm tập hợp phổ biến là: Average (hàm trung bình), Count (hàm đếm giá trị), Maximize (hàm giá trị lớn nhất), Nanmean ( hàm bỏ qua các giá trị), Median ( hàm trung vị), Minimum (hàm giá trị nhỏ nhất), Mode (hàm yếu vị), Aggregate (hàm tổng).
2.1 COUNT / COUNT_BIG
T-SQL hỗ trợ cho chúng ta 2 phương thức đó là: COUNT và COUNT_BIG để đếm một giá trị nào đó. Cả 2 phương thức này có công dụng và cú pháp tương tự nhau. Khác biệt duy nhất giữa chúng là COUNT trả về kết quả kiểu INT, trong khi COUNT_BIG trả về kết quả kiểu BIGINT.
2.2 Average
Average – trung bình cộng có cú pháp thực hiện khá đơn giản và tương tự như phương thức COUNT:
AVG ( [ ALL | DISTINCT ] expression)
>>> Xem thêm: SQL Series 4- Các loại ràng buộc trong SQL (Phần 1): Ràng buộc khóa chính, khóa ngoại
2.3 SUM
Phương thức SUM có công dụng để tính tổng giá trị của một thuộc tính. Cú pháp:
SUM ( [ ALL | DISTINCT ] expression )
AVG ( [ ALL | DISTINCT ] expression )
2.4 MIN, MAX
Hai phương thức này có cách thực hiện cũng khá đơn giản. Theo đó, phương thức MIN trả về giá trị nhỏ nhất. Còn MAX sẽ trả về giá trị lớn nhất của một thuộc tính.
MAX( [ ALL | DISTINCT ] expression )
MIN ( [ ALL | DISTINCT ] expression )
2.5 STDEV
Phương thức này sẽ giúp bạn tính toán độ lệch chuẩn (standard deviation) của tập dữ liệu. Cú pháp của phương thức này là:
STDEV ( [ ALL | DISTINCT ] expression )
Trên đây, FUNiX vừa hướng dẫn đến bạn cách sử dụng group by và các hàm aggregate function trong SQL. Mong rằng, những kiến thức chia sẻ sẽ giúp bạn dễ dàng phân tích, thống kê và đánh giá dữ liệu nhanh hơn khi làm việc. Chúc bạn học tập vui vẻ.
>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:
>>> Bài viết liên quan:
SQL Series 1- Hướng dẫn cơ bản về cách thao tác với Bảng trong CSDL(SQL)
SQL Series 2- Cách thao tác với dữ liệu của bảng trong CSDL(SQL)
SQL Series 3- Ý nghĩa các từ khóa trong SQL
SQL Series 4- Các loại ràng buộc trong SQL (Phần 1): Ràng buộc khóa chính, khóa ngoại
SQL Series 5- Bài tập thực hành tạo cơ sở dữ liệu và các bảng
Phạm Thị Thanh Ngọc
Bình luận (0
)