Hàm SUM trong SQL Server

Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý số SUM() trong SQL Server với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.

Mô tả

Hàm SUM trong SQL Server trả về giá trị tổng của một cột, một tập hợp dữ liệu hoặc một biểu thức.

Cú pháp

Để sử dụng hàm SUM trong SQL Server, ta dùng cú pháp như sau:

SELECT SUM(cot)
FROM bang
[WHERE dieukien];

Tham số:

  • cot: cột hoặc giá trị tính toán, biểu thức mà bạn muốn tính tổng
  • bang: bảng dùng để lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
  • dieukien: tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được chọn.

Lưu ý:

  • Hàm SUM có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem và khám phá một số ví dụ về hàm SUM trong SQL Server.

Giả sử, ta có bảng dữ liệu như sau:

 

Ví dụ 1: Tính tổng số lượng số bài viết của website Quantrimang

SELECT SUM(Sobai) AS "Tong so bai"
FROM Quantrimang
WHERE Sobai > 100;

Result: Tong so bai 641

Ở ví dụ này ta cần đầu ra là giá trị tổng số bài của website, nên kết quả được tính bằng cách cộng tất cả giá trị ở cột Sobai có dữ liệu khác rỗng và lớn hơn 100 lại với nhau.

Ví dụ 2: Sử dụng DISTINCT

SELECT SUM(DISTINCT Sobai) AS "Tong so bai"
FROM Quantrimang
WHERE Sobai > 100;

Result: Tong so bai 540

Ví dụ này dùng từ khóa DISTINCT, nên những giá trị lặp lại chỉ được tính một lần. Trong bảng dữ liệu cho trước, giá trị “101” xuất hiện 2 lần, nhưng chỉ được tính một lần, cho nên tổng số dòng được tính sẽ là 4, kết quả được tính như sau:

152 + 101 + 122 + 165 = 540

Ví dụ 3: Tính giá trị tổng theo cột được chỉ định của các dòng được chọn

Để tính giá trị tổng theo cột được chỉ định của các dòng được chọn, ta sử dụng mệnh đề GROUP BY.

Ví dụ sau tính giá trị tổng của tất cả bản ghi liên quan tới một chuyên mục lớn và bạn sẽ thực hiện như sau:

SELECT Chuyenmuclon, SUM(Sobai) AS "Tong so bai"
FROM Quantrimang
GROUP BY Chuyenmuclon;

Result:
Chuyenmuclon Tong so bai
Laptrinh 324
Mang xa hoi 317
Trinh duyet web 94

Bài trước: Hàm SIGN trong SQL Server

Bài tiếp: Lệnh CURRENT_TIMESTAMP trong SQL Server

Thứ Năm, 22/08/2019 10:33
52 👨 3.755