67
Bài thực hành số 6
Truy vấn nhóm
Nội dung chính:
Trong bài này,
chúng ta sẽ làm quen với các hàm nhóm và truy
vấn nhóm
:
- Các hàm nhóm: SUM, AVG, MAX và MIN ,
COUNT
- Mệnh đề GROUP BY
- Mệnh đề HAVING
1. Các hàm nhóm
Hàm SUM
Đôi khi các thông tin chúng ta cần không được lưu trữ thực sự trong các bảng cơ sở dữ
liệu, nhưng chúng ta có thể lấy được chúng bằng cách tính toán từ dữ liệu được lưu
trữ. Ví dụ, chúng ta có bảng
OrderDetails để lưu trữ thông tin về các đơn đặt hàng. Khi
chúng ta nhìn vào đó, chúng ta không biết tổng số tiền của tất cả các sản phẩm bán
được là bao nhiêu. Tuy nhiên, hàm tính tổng SUM có thể giúp chúng ta trả lời câu hỏi
này. Trước hết chúng ta xem hoạt động của hàm SUM, việc thực hiện nhóm dữ liệu sẽ
trình bày trong phần 2
Ví dụ: Tính tổng số lượng hàng hóa hiện còn trong kho
SELECT sum(quantityInStock)
FROM
products
Kết quả trả về như sau:
Hoặc để tính tổng số tiền chúng ta đã thu được từ đầu tới giờ, viết truy vấn như sau:
SELECT sum(priceEach * quantityOrdered) total
FROM orderdetails
68
Kết quả trả về như sau:
Hàm AVG
AVG được sử dụng để tính giá trị trung bình của một biểu thức, Nó không chấp nhận giá
trị NULL. Chúng ta có thể sử dụng AVG để tính toán giá trung bình của tất cả các sản
phẩm đã mua như sau:
SELECT AVG(buyPrice) average_buy_price
FROM
Products
Kết quả trả về như sau:
Hàm MAX và MIN
Hàm MAX trả về giá trị lớn nhất và hàm MIN trả về giá trị nhỏ nhất của một tập các giá
trị.
MAX(expression)
MIN(expression)
Ví dụ: Sử dụng MAX và MIN để lấy ra mức giá cao nhất và mức giá nhỏ nhất của sản
phẩm.
SELECT MAX(buyPrice) highest_price,
MIN(buyPrice) lowest_price
FROM Products
Kết quả trả về như sau: