MySQL
Cách sử dụng Group By trong MySQL
24/12/2023
GROUP BY là một mệnh đề trong SQL (bao gồm cả MySQL) được sử dụng để nhóm các hàng dữ liệu dựa trên giá trị trong một hoặc nhiều cột. Khi sử dụng GROUP BY, các hàng dữ liệu được phân loại thành các nhóm dựa trên giá trị của một hoặc nhiều cột, và các hàm tổng hợp như SUM, AVG, COUNT, MAX, MIN có thể được áp dụng cho mỗi nhóm.
Cú pháp
Dưới đây là cú pháp cơ bản của GROUP BY trong MySQL:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2;
Trong đó:
- column1, column2: Các cột bạn muốn nhóm theo.
- aggregate_function(column3): Hàm tổng hợp được áp dụng cho các giá trị trong cột3 (ví dụ: SUM, AVG, COUNT, MAX, MIN).
- table_name: Tên của bảng bạn đang truy vấn.
- condition: Các điều kiện lọc (tùy chọn).
Ví dụ:
Giả sử bạn có bảng orders chứa thông tin về các đơn đặt hàng và bạn muốn biết tổng giá trị đơn đặt hàng (SUM(order_amount)) cho mỗi khách hàng (customer_id). Dưới đây là một câu truy vấn sử dụng GROUP BY:
SELECT customer_id, SUM(order_amount) as total_order_amount
FROM orders
GROUP BY customer_id;
Trong ví dụ này, các đơn đặt hàng được nhóm theo customer_id, và hàm tổng hợp SUM được sử dụng để tính tổng giá trị đơn đặt hàng cho mỗi khách hàng.
Sử Dụng Hàm Tổng Hợp Khác:
COUNT(): Đếm số lượng hàng trong mỗi nhóm.
SELECT department, COUNT(*) as total_employees
FROM employees
GROUP BY department;
AVG(): Tính giá trị trung bình của một cột trong mỗi nhóm.
SELECT category, AVG(price) as average_price
FROM products
GROUP BY category;
MAX(): Tìm giá trị lớn nhất trong mỗi nhóm.
SELECT year, MAX(sales) as max_sales
FROM sales_data
GROUP BY year;
Sử Dụng HAVING với GROUP BY:
Mệnh đề HAVING được sử dụng để áp dụng điều kiện lọc cho các nhóm được tạo bởi GROUP BY. Thường được sử dụng khi bạn muốn lọc dữ liệu sau khi đã nhóm chúng.
SELECT department, AVG(salary) as average_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;
Trong ví dụ này, chỉ các bộ phận có mức lương trung bình lớn hơn 50,000 sẽ được hiển thị trong kết quả.
GROUP BY là một công cụ mạnh mẽ trong SQL để phân loại và thực hiện các phép tổng hợp trên các nhóm dữ liệu.
Bài viết liên quan
13:57 . 12/05/2024
09:36 . 14/01/2024
22:38 . 10/01/2024
22:38 . 30/12/2023
22:33 . 30/12/2023
22:30 . 30/12/2023
22:10 . 30/12/2023
22:03 . 30/12/2023
09:01 . 30/12/2023
Hỗ trợ
Thanh toán
Tuyển dụng
Liên hệ










