SQL Group By

Hiểu biết về SQL Group By

SQL (Structured Query Language) là một ngôn ngữ lập trình được sử dụng để quản lý và thao tác trên cơ sở dữ liệu. Một trong những khía cạnh quan trọng của SQL là khả năng tổ chức và phân tích dữ liệu thông qua các hàm tổng hợp. Trong đó, câu lệnh GROUP BY cho phép chúng ta nhóm các bản ghi dựa trên một hoặc nhiều cột nhất định. Điều này rất hữu ích khi chúng ta cần thực hiện các tính toán hoặc phân tích nhóm trong tập dữ liệu lớn.

Định nghĩa

Câu lệnh GROUP BY được sử dụng trong SQL để nhóm các bản ghi có giá trị giống nhau trong một hoặc nhiều cột. Khi kết hợp với các hàm tổng hợp như COUNT(), SUM(), AVG(), MIN(), MAX(), chúng ta có thể lấy thông tin tổng hợp dựa trên các nhóm này.

Cú pháp

Cú pháp cơ bản của câu lệnh GROUP BY như sau:

SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
ORDER BY column1;

Trong đó:

  • column1, column2: Các cột mà bạn muốn lấy dữ liệu.
  • aggregate_function: Hàm tổng hợp mà bạn muốn áp dụng (ví dụ: COUNT, SUM, AVG).
  • table_name: Tên bảng mà bạn muốn truy vấn.
  • condition: Điều kiện lọc dữ liệu từ bảng (nếu có).

Ví dụ

Ví dụ 1: Đếm số lượng sản phẩm theo loại

Giả sử bạn có một bảng products với các cột product_namecategory. Nếu bạn muốn đếm số lượng sản phẩm trong mỗi loại, bạn có thể sử dụng câu lệnh sau:

SELECT category, COUNT(product_name) AS number_of_products
FROM products
GROUP BY category;

Ví dụ 2: Tính tổng doanh thu theo tháng

Giả sử bạn có một bảng sales với các cột sale_dateamount. Để tính tổng doanh thu theo từng tháng, bạn có thể làm như sau:

SELECT MONTH(sale_date) AS sale_month, SUM(amount) AS total_sales
FROM sales
GROUP BY MONTH(sale_date);

Ví dụ 3: Lấy giá trị tối đa cho mỗi nhóm

Giả sử bạn có bảng employees với các cột departmentsalary. Nếu bạn muốn tìm mức lương cao nhất trong mỗi phòng ban, sử dụng câu lệnh dưới đây:

SELECT department, MAX(salary) AS highest_salary
FROM employees
GROUP BY department;

Kết luận

Câu lệnh GROUP BY là một công cụ mạnh mẽ trong SQL giúp người dùng dễ dàng phân loại và tổng hợp dữ liệu. Việc sử dụng hiệu quả GROUP BY có thể cải thiện đáng kể khả năng phân tích và xử lý dữ liệu trong cơ sở dữ liệu. Hy vọng rằng bài viết này đã cung cấp cho bạn cái nhìn rõ ràng về cách sử dụng GROUP BY trong SQL!