Các hàm thống kê đóng vai trò quan trọng khi cần phân tích dữ liệu quy mô lớn. Những công cụ này cho phép thực hiện tính toán trên một nhóm hàng và trả về kết quả cuối cùng duy nhất, giúp việc tổng hợp thông tin trở nên nhanh chóng và hiệu quả hơn.
1. Các Hàm Thống Kê Cơ Bản
Bảng dưới đây tóm tắt những chức năng chính thường được sử dụng trong truy vấn:
| Hàm | Mô tả |
|---|---|
| AVG() | Tính toán giá trị trung bình của một cột |
| COUNT() | Đếm số lượng bản ghi hoặc giá trị |
| MAX() | Xác định giá trị lớn nhất |
| MIN() | Xác định giá trị nhỏ nhất |
| SUM() | Tính tổng các giá trị số học |
1.1 Hàm AVG()
Dùng để lấy mức độ trung bình của dữ liệu số. Lưu ý rằng hệ thống sẽ tự động loại bỏ các ô NULL trước khi tính toán.
SELECT AVG(item_price)
FROM inventory_items;
-- Kết quả trả về:
-- +--------------+
-- | AVG(item_price) |
-- +--------------+
-- | 23.4500 |
-- +--------------+
1.2 Hàm COUNT()
Có hai cách sử dụng phổ biến để đếm dữ liệu tùy theo nhu cầu xử lý giá trị rỗng.
Với cú pháp COUNT(*), mọi dòng trong bảng đều được tính:
SELECT COUNT(*)
FROM inventory_items;
Với cú pháp COUNT(ColumnName), chỉ các dòng có giá trị thực tế mới được cộng vào:
SELECT COUNT(warranty_period)
FROM inventory_items;
1.3 Hàm MAX() Và MIN()
Cặp hàm này giúp tìm ra giới hạn cao nhất hoặc thấp nhất trong một trường dữ liệu cụ thể, đồng thời bỏ qua các giá trị NULL ẩn.
-- Tìm giá bán cao nhất
SELECT MAX(sale_price) FROM sales_history;
-- Tìm mã vùng thấp nhất
SELECT MIN(area_code) FROM contact_list;
1.4 Hàm SUM()
Thực hiện phép cộng tất cả các giá trị hợp lệ trong một cột thuộc kiểu số.
SELECT SUM(quantity_sold)
FROM order_details;
2. Xử Lý Giá Trị Duy Nhất
Khi muốn thống kê dựa trên các phần tử không trùng lặp, chúng ta kết hợp từ khóa DISTINCT với các hàm tập hợp. Điều này đặc biệt hữu ích khi phân bổ lại giá trị trung bình mà không bị ảnh hưởng bởi dữ liệu dư thừa.
-- Trung bình toàn bộ giá trị
SELECT AVG(rating_score) FROM product_reviews;
-- Trung bình chỉ trên các điểm số khác nhau
SELECT AVG(DISTINCT rating_score) FROM product_reviews;
3. Kết Hợp Nhiều Hàm Thống Kê
Một truy vấn đơn lẻ hoàn toàn có thể chứa nhiều lệnh tính toán khác nhau để thu thập đa dạng chỉ số cùng lúc. Cách làm này tối ưu hóa hiệu suất bằng cách quét bảng chỉ một lần.
SELECT
COUNT(order_id) AS total_records,
AVG(amount_paid) AS avg_payment,
MIN(amount_paid) AS min_payment,
MAX(amount_paid) AS max_payment
FROM billing_system;