Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

MySQL Bài 25: Tìm hiểu mệnh đề HAVING trong MySQL

– Trong hệ quản trị cơ sở dữ liệu MySQL, mệnh đề HAVING thường được sử dụng thay thế cho mệnh đề WHERE khi điều kiện chọn lọc dữ liệu có nhắc đến các hàm tính toán tổng hợp như: COUNT, SUM, MIN, MAX, AVG, . . . .

– Để sử dụng mệnh đề HAVING thì chúng ta dùng cú pháp như sau:

SELECT column_name(s)
FROM table_name
GROUP BY column_name
HAVING condition;

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 một số ví dụ minh họa.

CustomerIDCustomerNameCity
1Nguyễn Thành NhânCần Thơ
2Phạm Minh CươngAn Giang
3Hà Thị Cẩm VânSóc Trăng
4Trần Thị Tuyết NgaHậu Giang
5Vũ Tùng LâmCần Thơ
6Phạm Thị Hải NgânNinh Thuận
7Nguyễn Ngọc Ánh NhiVĩnh Long
8Trương Nữ Ngọc DiễmBạc Liêu
9Phạm Thị Diệu HươngCần Thơ
10Trần Phương AnhVĩnh Long
11Nguyễn Thị Hải YếnTiền Giang
12Mai Thị Lan PhươngSóc Trăng
13Hoàng Nghĩa TuyềnTrà Vinh
14Đặng Phước TrungSóc Trăng
15Nguyễn Huyền HươngVị Thanh
16Lê Văn ThơmSóc Trăng
Ví dụ 1:

– Liệt kê những thành phố có nhiều hơn hoặc bằng 2 khách hàng.

SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City
HAVING COUNT(CustomerID) >= 2;

– 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:

CityNumberOfCustomers
Cần Thơ3
Sóc Trăng4
Vĩnh Long2
Ví dụ 2:

– Liệt kê những thành phố có nhiều hơn hoặc bằng 2 khách hàng.

(sắp xếp các thành phố theo thứ tự giảm dần của số lượng khách hàng)

SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City
HAVING COUNT(CustomerID) >= 2
ORDER BY NumberOfCustomers DESC;

– 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:

CityNumberOfCustomers
Sóc Trăng4
Cần Thơ3
Vĩnh Long2

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *