Like & Share on Facebook
TROLY-EXCEL EXCEL-SQL EXCEL-OUTLOOK-VBA

Mệnh đề HAVING

Mệnh đề HAVING được thêm vào câu truy vấn bởi vì từ khóa WHERE không thể được sử dụng với các Hàm Aggregate (COUNT, MAX, MIN, SUM, AVG).

Cú pháp HAVING

SELECT column_name(s)
FROM [sheet_name]
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Cơ sở dữ liệu(CSDL) mẫu

Hình bên dưới chứa thông tin mẫu danh sách khách hàng bạn đang có, đây là file Excel đặt tên file là "Customers.xlsx", lưu tại vị trí bất kỳ trên máy tính.

Customers


Ví dụ HAVING

Câu lệnh sau sẽ truy vấn danh sách các quốc gia có nhiều hơn 1 khách hàng:

Ví dụ

SELECT COUNT(CustomerID), Country
FROM `c:\troly-excel\Customers.xlsx`.[Sheet1$]
GROUP BY Country
HAVING COUNT(CustomerID) > 1;

Xem kết quả »

×

Câu lệnh sau truy vấn danh sách các quốc gia có khách hàng và sắp xếp giảm dần theo số lượng khách hàng:

Example

SELECT COUNT(CustomerID), Country
FROM `c:\troly-excel\Customers.xlsx`.[Sheet1$]
GROUP BY Country
HAVING COUNT(CustomerID) > 0
ORDER BY COUNT(CustomerID) DESC;

Xem kết quả »

×


Cơ sở dữ liệu(CSDL) mẫu

Hình bên dưới chứa thông tin mẫu danh sách các đơn hàng hiện có, đây là file Excel đặt tên file là "Orders.xlsx", lưu tại vị trí bất kỳ trên máy tính.

Orders


Cơ sở dữ liệu(CSDL) mẫu

Hình bên dưới chứa thông tin mẫu danh sách các nhân viên hiện có, đây là file Excel đặt tên file là "Employees.xlsx", lưu tại vị trí bất kỳ trên máy tính.

Employees


Một số ví dụ khác cho HAVING

Câu lệnh sau truy vấn danh sách nhân viên đã đăng ký đơn hàng:

Ví dụ

SELECT e.LastName, COUNT(o.OrderID) AS NumberOfOrders
FROM (`c:\troly-excel\Orders.xlsx`.[Sheet1$] o
INNER JOIN `c:\troly-excel\Employees.xlsx`.[Sheet1$] e ON o.EmployeeID = e.EmployeeID)
GROUP BY LastName
HAVING COUNT(o.OrderID) >= 1;

Xem kết quả »

×

Câu lệnh sau truy vấn danh sách nhân viên có họ là "Davolio" or "Fuller" đã đăng ký nhiều hơn 2 đơn hàng:

Ví dụ

SELECT e.LastName, COUNT(o.OrderID) AS NumberOfOrders
FROM `c:\troly-excel\Orders.xlsx`.[Sheet1$] o
INNER JOIN `c:\troly-excel\Employees.xlsx`.[Sheet1$] e ON o.EmployeeID = e.EmployeeID
WHERE LastName = 'Davolio' OR LastName = 'Fuller'
GROUP BY LastName
HAVING COUNT(o.OrderID) > 2;

Xem kết quả »

×


❮ Bài trước

Bài tiếp theo ❯



Nếu cần trợ giúp? Hãy gửi email tới phucey@gmail.com hoặc chat với tôi!