Professional Documents
Culture Documents
Mục tiêu
Giới thiệu
Các hàm thống kê thường dùng
Hàm AVG()
Hàm COUNT()
Hàm MIN()
Hàm SUM()
Hàm FIRST()
Hàm LAST()
Câu GROUP BY với mệnh đề HAVING
2
Giới thiệu
SQL Server đưa vào nhiều tính năng truy vấn mạnh mẽ giúp cho việc quản lý, tính toán
và lấy dữ liệu ra một cách nhanh chóng và hiệu quả.
Dữ liệu có thể được nhóm hoặc tổng hợp cùng nhau để thể hiện thông tin tổng kết.
Việc sử dụng các hàm để tính toán dữ liệu giúp cho người quản lý có thể đưa ra được
các bảng báo cáo một cách đầy đủ và chính xác. Đặc biệt là với các trường thông tin
không có sẵn trong bảng của cơ sở dữ liệu.
Mệnh đề GROUP BY cho phép nhóm tập kết quả thành một hoặc nhiều tập con. Mỗi
tập kết quả có các giá trị và biểu thức chung.
3
Một số hàm thống kê và tổng hợp dữ liệu
Hàm AVG().
Cú pháp:
Ví dụ: Câu lệnh SQL sau đây lấy giá trị trung bình của cột “Giá” từ bảng sản phẩm:
Ví dụ: Câu lệnh SQL sau đây lấy ra tên sản phẩm, giá sản phẩm từ bảng sản phẩm của
tất cả các sản phẩm có giá lớn hơn giá trung bình.
4
Một số hàm thống kê và tổng hợp dữ liệu
Hàm COUNT().
Cú pháp:
SELECT COUNT(column_name) FROM table_name;
Ví dụ: Câu lệnh SQL sau đây đếm số lượng đơn hàng có mã khách hàng là 7.
5
Một số hàm thống kê và tổng hợp dữ liệu
Hàm COUNT().
Hàm Count có thể kết hợp với toán tử * hoặc từ khóa DISTINCT
6
Một số hàm thống kê và tổng hợp dữ liệu
Hàm MIN().
Cú pháp:
Ví dụ:
SELECT MIN(Price) AS SmallestOrderPrice FROM Products;
7
Một số hàm thống kê và tổng hợp dữ liệu
Hàm SUM().
Cú pháp:
Ví dụ:
SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;
8
Một số hàm thống kê và tổng hợp dữ liệu
Hàm FIRST().
Cú pháp:
Ví dụ:
9
Một số hàm thống kê và tổng hợp dữ liệu
Hàm LAST().
Cú pháp:
10
Nhóm và thống kê
Hàm thống kê thực hiện tính toán trên tập giá trị và trả về giá trị duy nhất.
Các hàm thống kê đều bỏ qua giá trị NULL, trừ hàm Count.
Hàm thống kê thường được sử dụng với mệnh đề GROUP BY của câu lệnh
SELECT.
Khi sử dụng hàm thống kê trong phần danh sách cột của câu lệnh SELECT thường
tạo ra một cột không có tên, do vậy để tạo ra tên của cột bạn có thể dùng mệnh đề AS
để cung cấp cho nó một cái tên (Bí danh).
11
Lệnh Select kết hợp group by
Cú pháp:
Ví dụ: Câu lệnh truy vấn sau thống kê số lượng sản phẩm bằng lệnh Group
By.
Select TenKH, Count(idsp) as ‘Tổng sản phẩm mua’
From tblBanHang, tblKhachHang
Where tblBanHang.idkh=tblKhachHang.idkh
Group by tblKhachHang.tenkh
12
Lệnh Select kết hợp group by
Câu lệnh Group by có thể được sử dụng trên nhiều cột để nhóm dữ liệu như ví
dụ dưới đây.
SELECT Shippers.ShipperName, Employees.LastName,
COUNT(Orders.OrderID) AS
NumberOfOrders FROM
((Orders
INNER JOIN Shippers
ON
Orders.ShipperID=Shippers.Shi
pperID) INNER JOIN
Employees
ON
Orders.EmployeeID=Employees.Em
ployeeID) GROUP BY
ShipperName,LastName;
13
Lệnh Select kết hợp having
Câu lệnh select kết hợp với mệnh đề having cho phép giới hạn các điều kiện
khi thống kê dữ liệu theo nhóm.
Cú pháp câu lệnh như sau:
14
Lệnh Select kết hợp having
Ví dụ: Muốn tìm và lấy ra các nhân viên đã đăng ký số lượng đơn hàng lớn
hơn 10.
Chúng ta sử dụng câu lệnh Select kết hợp vơi mệnh đề having như sau:
SELECT Employees.LastName, COUNT(Orders.OrderID) AS
NumberOfOrders FROM (Orders
INNER JOIN Employees
ON
Orders.EmployeeID=Employees.E
mployeeID) GROUP BY
LastName
HAVING COUNT(Orders.OrderID) > 10;
15
Lệnh Select kết hợp having
Ví dụ: Muốn tìm và lấy ra các nhân viên có tên là ‘Davolio’ hoặc ‘Fuller’
đăng ký lớn hơn 25 đơn hàng.
Chúng ta sử dụng câu lệnh Select kết hợp vơi mệnh đề having kết hợp với
where như sau:
16
THANK YOU