Sử dụng những chức năng Tổng thể

Một phần của tài liệu Lập trình cơ sở dữ liệu C Sharp-Phần 1 ppt (Trang 89 - 91)

) VALUE S( 'SOCOM'

Sử dụng những chức năng Tổng thể

Trước đó, Bạn đã thấy cách sử dụng hàm tổng thể COUNT() để lấy số lượng hàng. COUNT() và một số hàm tổng thể khác bạn có thể sử dụng với SQL Srver được liệt kê trong Bảng 4.3. Biểu thức bạn có thể chuyển cho những hàm tổng thể điển hình là một cột đơn, nhưng nó cũng có thể là một trường được tính toán. ALL có nghĩa là hàm được ứng dụng vào tất cả những giá trị cột, trong khi DISTINCT chỉ có nghĩa là hàm chỉ ứng dụng tới những giá trị duy nhất. ALL là mặc định.

Bảng 4.3: những hàm tổng thể

HÀM MÔ TẢ

AVG([ ALL | DISTINCT ] expression) Trả lại giá trị trung bình cộng của những giá trị trong một nhóm. COUNT([ ALL | DISTINCT ]

expression ] | *) Trả lại số lượng hàng trong một nhóm. COUNT() trả lại một giá trị kiểu dữ liệu int.

COUNT_BIG([ ALL | DISTINCT ]

expression} | *) Trả lại số lượng giá trị trong một nhóm. COUNT_BIG() trả về một giá trị kiểu dữ liệu bigint

MAX([ ALL | DISTINCT ] expression) Trả lại giá trị lớn nhất. MIN([ ALL | DISTINCT ] expression) Trả lại giá trị nhỏ nhất.

SUM([ ALL | DISTINCT ] expression) Trả lại tổng của bất kỳ giá trị không null nào. SUM() chỉ có thể được sử dụng với những biểu thức số.

STDEV(expression) Trả lại độ lệch tiêu chuẩn cho tất cả những giá trị.

STDEVP(expression) Trả lại độ lệch tiêu chuẩn cho tập hợp của tất cả những giá trị. VAR(expression) Trả lại sự chênh lệch cho tất cả những giá trị.

VARP(expression) Trả lại sự chênh lệch cho tập hợp của tất cả những giá trị. Chúng ta hãy xem xét những ví dụ sử dụng một số những hàm tổng thể.

Bạn sử dụng hàm AVG() để có trị bình quân. Chẳng hạn, phát biểu sau đây lấy trị trung bình của cột UnitPrice của bảng những sản phẩm sử dụng hàm AVG() :

SELECT AVG(UnitPrice) FROM Products;

Ví dụ này trả về 28,8663. Vì ALL là mặc định được dùng với những hàm, ví dụ này sử dụng mọi hàng trong bảng những sản phẩm khi thực hiện sự tính toán. Nếu bạn muốn chỉ sử dụng những giá trị duy nhất trong sự tính toán, thì bạn sử dụng tùy chọn DISTINCT, như ví dụ sau đây

SELECT AVG(DISTINCT UnitPrice) FROM Products;

Ví dụ này trả lại 31,4162, hơi cao hơn so với kết quả trước đây bởi vì chỉ những giá trị duy nhất (không trùng lặp) trong cột được sử dụng trong lần này.

Ngoài việc gởi một cột tới một hàm, bạn có thể cũng gởi qua một trường được tính toán. Chẳng hạn, phát biểu sau đây gởi qua trường được tính toán UnitPrice* 1.20 tới hàm AVG() :

SELECT AVG(UnitPrice * 1.20) FROM Products;

Ví dụ này trả lại 34,639,636; trị trung bình sau khi những giá trị UnitPrice được tăng 20 phần trăm.

Bạn có thể giới hạn những hàng được chuyển cho một hàm sử dụng một mệnh đề WHERE . Chẳng hạn, phát biểu SELECT sau đây tính toán trị trung bình của UnitPrice cho những hàng với một CategoryID là 1

SELECT AVG(UnitPrice) FROM Products

WHERE CategoryID = 1;

Ví dụ này trả về 37.9791.

Bạn có thể kết hợp một hàm với một mệnh đề GROUP BY để thực hiện một tính toán trên mỗi nhóm của những hàng. Chẳng hạn, phát biểu SELECT sau đây tính toán trị trung bình của cột UnitPrice cho mỗi khối của những hàng được nhóm lại bởi CategoryID:

SELECT AVG(UnitPrice) FROM Products

GROUP BY CategoryID;

Hình 4.2 cho thấy những kết quả của phát biểu SELECT này.

Hình 4.2: Sử dụng hàm AVG() để tính toán trị bình quân của cột UnitPrice

Bạn cũng có thể cung cấp một mệnh đề HAVING để hạn chế những nhóm được dùng trong một phát biểu SELECT. Ví dụ, phát biểu sau đây thêm một mệnh đề HAVING vào ví dụ trước để trích ra những nhóm có trị trung bình lớn hơn 50: SELECT AVG(UnitPrice) FROM Products GROUP BY CategoryID HAVING AVG(UnitPrice) > 50; Ví dụ này trả lại 54.0066.

Chúng ta hãy xem xét tại một số những hàm tổng thể khác. Bạn lấy tổng số lượng hàng sử dụng hàm COUNT() . Chẳng hạn, phát biểu sau đây lấy tổng số lượng hàng trong bảng những sản phẩm sử dụng hàm COUNT():

SELECT COUNT(*) FROM Products;

Ví dụ này trả lại 77.

Bạn sử dụng những hàm MAX() và MIN() để lấy những giá trị cực đại và cực tiểu. Chẳng hạn, phát biểu sau đây sử dụng những hàm này để lấy giá trị cực đại và cực tiểu của cột UnitPrice:

SELECT MAX(UnitPrice), MIN(UnitPrice) FROM Products;

Ví dụ này trả lại 263.5000 và 2.5000 cho những giá trị cực đại và cực tiểu tương ứng.

Bạn sử dụng hàm SUM() để lấy tổng số của bất kỳ giá trị không null nào. Chẳng hạn, phát biểu sau đây lấy tổng của những giá trị cột UnitPrice cho mỗi nhóm của những hàng sử dụng hàm SUM().

SELECT SupplierID, SUM(UnitPrice) AS SumUnitPrice FROM Products

GROUP BY SupplierID;

Mệnh đề GROUP BY của ví dụ này trả về một hàng cho mỗi nhóm của những hàng có những giá trị cột SupplierID giống nhau. Hàm SUM() tính tổng những giá trị cột UnitPrice cho tất cả những hàng bên trong mỗi nhóm và trả về một giá trị đơn. Chẳng hạn, SUM() trả về 47.0000 cho nhóm có SupplierID là 1. Đây là tổng của những giá trị cột UnitPrice cho tất cả những hàng có SupplierID là 1. Tương tự, SUM() trả lại 81.4000 nơi SupplierID là 2, vân vân. Mệnh đề AS trong ví dụ này gán tên cho những kết quả được trả về bởi hàm SUM() như một cột mới có tên SumUnitPrice.

Hình 4.3 cho thấy những kết quả của phát biểu SELECT này.

Hình 4.3: sử dụng gàm SUM() để tính toán tổng số của cột UnitPrice

Một phần của tài liệu Lập trình cơ sở dữ liệu C Sharp-Phần 1 ppt (Trang 89 - 91)

Tải bản đầy đủ (PDF)

(154 trang)