Hướng dẫn mysql sum group by - nhóm tổng mysql theo



Mệnh đề GROUP BY trong MySQL được sử dụng hợp tác với câu lệnh SELECT để sắp xếp dữ liệu giống nhau thành các nhóm. Mệnh đề GROUP BY này tuân theo mệnh đề WHERE trong câu lệnh SELECT và đứng trước mệnh đề ORDER BY.GROUP BY trong MySQL được sử dụng hợp tác với câu lệnh SELECT để sắp xếp dữ liệu giống nhau thành các nhóm. Mệnh đề GROUP BY này tuân theo mệnh đề WHERE trong câu lệnh SELECT và đứng trước mệnh đề ORDER BY.

Cú pháp

Cú pháp cơ bản của mệnh đề GROUP BY trong MySQL được hiển thị trong khối lệnh sau. Mệnh đề GROUP BY trong MySQL phải tuân theo các điều kiện trong mệnh đề WHERE và phải đứng trước mệnh đề ORDER BY nếu mệnh đề được sử dụng.

SELECT column1, column2
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2
ORDER BY column1, column2


Giả sử bảng CUSTOMERS có các bản ghi sau đây:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ha Anh   |  32 | Da Nang   |  2000.00 |
|  2 | Van Ha   |  25 | Ha Noi    |  1500.00 |
|  3 | Vu Bang  |  23 | Vinh      |  2000.00 |
|  4 | Thu Minh |  25 | Ha Noi    |  6500.00 |
|  5 | Hai An   |  27 | Ha Noi    |  8500.00 |
|  6 | Hoang    |  22 | Ha Noi    |  4500.00 |
|  7 | Binh     |  24 | Ha Noi    | 10000.00 |
+----+----------+-----+-----------+----------+

Nếu bạn muốn biết tổng số tiền lương của mỗi khách hàng, thì có thể sử dụng mệnh đề GROUP BY sẽ như sau.

SELECT NAME, SUM(SALARY) FROM CUSTOMERS
   GROUP BY NAME;

Câu lệnh trên sẽ tạo ra kết quả sau:

Hướng dẫn mysql sum group by - nhóm tổng mysql theo

Bây giờ, chúng ta hãy update bảng CUSTOMERS có các bản ghi sau với tên trùng lặp:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ha Anh   |  32 | Ha Noi    |  2000.00 |
|  2 | Ha Anh   |  25 | Ha Noi    |  1500.00 |
|  3 | Vu Bang  |  23 | Vinh      |  2000.00 |
|  4 | Thu Minh |  25 | Ha Noi    |  6500.00 |
|  5 | Hai An   |  27 | Ha Noi    |  8500.00 |
|  6 | Hai An   |  22 | Ha Noi    |  4500.00 |
|  7 | Hai An   |  24 | Ha Noi    | 10000.00 |
+----+----------+-----+-----------+----------+

Bây giờ một lần nữa, nếu bạn muốn biết tổng số tiền lương trên mỗi khách hàng, sau đó truy vấn GROUP BY sẽ như sau:

SELECT NAME, SUM(SALARY) FROM CUSTOMERS
   GROUP BY NAME;

Câu lệnh trên sẽ tạo ra kết quả sau:

Hướng dẫn mysql sum group by - nhóm tổng mysql theo



- Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.

- Để sử dụng lệnh GROUP BY thì chúng ta dùng cú pháp như sau:

SELECT column_name(s)
FROM table_name
GROUP BY column_name;

MỘT SỐ VÍ DỤ

- Trong bài học này, tôi sẽ sử dụng cái bảng Customers như bên dưới để làm ví dụ minh họa:

CustomerID CustomerName Address City
1 Nguyễn Thành Nhân 63 Hoàng Văn Thụ Cần Thơ
2 - Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.- Để sử dụng lệnh GROUP BY thì chúng ta dùng cú pháp như sau:Cần Thơ
3 - Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.- Để sử dụng lệnh GROUP BY thì chúng ta dùng cú pháp như sau:Vĩnh Long
4 Cần Thơ - Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.Sóc Trăng
5 An Giang Vĩnh Long Vĩnh Long
6 Cần Thơ - Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.An Giang
7 Vĩnh Long Cần Thơ Cần Thơ

- Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.

SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City;

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.

City NumberOfCustomers
An Giang 1
Cần Thơ 3
Sóc Trăng 1
Vĩnh Long 2

Cần Thơ

SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City
ORDER BY NumberOfCustomers ASC;

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.

City NumberOfCustomers
Sóc Trăng 1
An Giang 1
Vĩnh Long 2
Cần Thơ 3