Các hàm tổng hợp tính toán các giá trị nh− giá trị trung bình, tổng số theo giá trị của các cột đ−ợc chỉ ra và trả về một giá trị.
Cú pháp:
Tên_hàm_tổng hợp ([ALL | DISTINCT] Biểu thức) Trong đó:
Tên_hàm_tổng hợp gồm:
AVG: Trả về giá trị trung bình của tất cả các giá trị hoặc chỉ đối với các giá trị không lặp trong biểu thức. AVG chỉ dùng cho các cột có giá trị số.
COUNT: Trả về số l−ợng các giá trị NOT NULL của biểu thức. Nếu dùng từ khoá DISTINCT thì hàm COUNT chỉ đếm số giá trị NOT NULL duy nhất. Hàm COUNT đ−ợc dùng với cả cột có giá trị số và ký tự.
COUNT(*): Trả về số dòng trong bảng. COUNT(*) không có tham số và không đ−ợc dùng với từ khoá DISTINCT. COUNT(*) đếm tất cả các dòng, cả các dòng có giá trị NULL.
MAX: Trả về giá trị lớn nhất trong biểu thức. Hàm MAX đ−ợc dùng với các cột có giá trị số, ký tự, và ngày giờ nh−ng không dùng với cột có giá trị bit.
MIN: Trả về giá trị nhỏ nhất trong biểu thức. Hàm MIN đ−ợc dùng với các cột có giá trị số, ký tự, và ngày giờ nh−ng không dùng với cột có giá trị bit.
SUM: Trả về giá trị tổng của tất cả các giá trị hoặc chỉ đối với các giá trị không lặp trong biểu thức. SUM chỉ dùng cho các cột có giá trị số.
ALL: Hàm tổng hợp có tác dụng đối với tất cả các giá trị và ALL là giá trị ngầm định.
DISTINCT: Loại bỏ các giá trị đúp tr−ớc khi thực hiện hàm tổng hợp. Biểu thức: Là tên cột, hằng số, hàm, hoặc là sự kết hợp của các tên cột, hằng số, và các hàm bằng các toán tử số học hoặc các toán tử bít.
Ví dụ:
A. Hàm SUM và hàm AVG
SELECT AVG(advance), SUM(ytd_sales)
FROM titles
WHERE type = 'business'
B. Hàm SUM và AVG dùng với mệnh đề GROUP BY SELECT type, AVG(advance), SUM(ytd_sales)
FROM titles
GROUP BY type C. Hàm COUNT sử dụng DISTINCT:
SELECT COUNT(DISTINCT city)
FROM authors
D. Hàm COUNT(*) trong GROUP BY HAVING: SELECT type
FROM titles
GROUP BY type
HAVING COUNT(*) > 1 E. Hàm SUM và AVG trong HAVING:
SELECT pub_id, SUM(advance), AVG(price)
GROUP BY pub_id
HAVING SUM(advance) > $25000
AND AVG(price) > $15