Sử dụng mệnh đề HAVING trong SQL

Mệnh đề HAVING trong SQL được sử dụng để lọc các nhóm được tạo bởi mệnh đề GROUP BY. Nó cho phép bạn đặt điều kiện trên các nhóm thay vì các hàng riêng lẻ.

having

Cú pháp:

SELECT <column_name>, <aggregate_function>(<column_name>)
FROM <table_name>
[WHERE <condition>]
GROUP BY <column_name1>, <column_name2>, ...
HAVING <condition>;

Giải thích:

  • SELECT, FROM, WHERE, GROUP BY: Giống như trong mệnh đề GROUP BY.
  • <aggregate_function>(<column_name>): Phép tính tổng hợp được thực hiện trên các nhóm.
  • HAVING <condition>: Điều kiện để lọc các nhóm.

 Lưu ý:

  • Mệnh đề HAVING luôn được sử dụng sau mệnh đề GROUP BY.
  • Điều kiện trong mệnh đề HAVING có thể sử dụng các phép so sánh, toán tử logic và các phép toán trên các giá trị trả về của các phép tính tổng hợp.

Ví dụ:

--Tính tổng doanh thu theo từng tháng, chỉ hiển thị các tháng có tổng doanh thu trên 1 triệu:
SELECT MONTH(OrderDate) AS OrderMonth, SUM(Total) AS TotalRevenue
FROM Orders
GROUP BY MONTH(OrderDate)
HAVING SUM(Total) > 1000000;

--Tính trung bình điểm thi của mỗi môn học, chỉ hiển thị các môn có điểm trung bình trên 8:
SELECT Subject, AVG(Score) AS AverageScore
FROM ExamResults
GROUP BY Subject
HAVING AVG(Score) > 8;

--Tìm kiếm danh mục sản phẩm và tổng số lượng sản phẩm bán được theo từng danh mục, chỉ hiển thị các danh mục có trên 10 sản phẩm được bán:
SELECT CategoryName, COUNT(*) AS NumberOfProductsSold
FROM OrderItems
GROUP BY CategoryName
HAVING COUNT(*) > 10;

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận