Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hàm SUM trong SQL Server là gì? Cách dùng hàm SUM SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
SQL Server là kiến thức bạn nhất định nên tìm hiểu nếu muốn trở thành một lập trình viên chuyên nghiệp bởi nó được sử dụng phổ biến trong lĩnh vực này.
Nhìn chung, học SQL Server không khó. Bạn dễ dàng tìm thấy những khó học online hay hướng dẫn tự học trên Internet, Quantrimang.com là một trong số đó. Quantrimang sẽ cung cấp cho bạn những kiến thức cơ bản về SQL Server. Ở bài viết này, chúng ta hãy cùng nhau tìm hiểu về hàm tính tổng trong SQL Server nhé!
Nếu đang tìm cách tính tổng SQL, nhất định bạn phải biết cách dùng hàm SUM. Hàm SUM trong SQL Server là một kiểu hàm tổng hợp. Hàm này được dùng để tính giá trị tổng trong một nhóm dữ liệu của cột hay biểu thức được chỉ định.
Câu lệnh SUM trong SQL Server là một hàm có sẵn, chấp nhận một tham số đơn lẻ mà có thể là cột hoặc biểu thức hợp lệ và trả về một kết quả duy nhất để tóm tắt nhập bộ dữ liệu đầu vào. Hàm này bỏ qua giá trị NULL. Tuy nhiên, nó trả về NULL khi nhóm kết quả không có hàng. Nó cũng hoạt động với mệnh đề WHERE, GROUP BY, ORDER BY và HAVING.
Để 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ố:
Lưu ý:
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 QuantrimangWHERE 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 QuantrimangWHERE 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 QuantrimangGROUP BY Chuyenmuclon;Result:Chuyenmuclon Tong so baiLaptrinh 324Mang xa hoi 317Trinh duyet web 94
Hàm SUM SQL Server với mệnh đề WHERE
Mệnh đề WHERE được dùng để lọc các bản ghi một bảng. Ví dụ này sẽ dùng mệnh đề WHERE cùng hàm SUM() để tính tổng lương của nhân viên làm việc nhiều hơn 9 tiếng một ngày.
SELECT SUM(salary) AS "Total Salary" FROM employee_info WHERE working_hours>9;
Khi chạy truy vấn này, nó trả về kết quả sau:
Hàm SUM SQL Server với ORDER BY
ORDER BY được dùng để sắp xếp dữ liệu trong bảng theo thứ tự tăng hoặc giảm dần. Ví dụ bên dưới sẽ dùng hàm SUM() với ORDER BY, tính tổng số lương của nhân viên dựa trên từng công việc, rồi phân loại kết quả theo thứ tự tăng dần:
SELECT occupation, SUM(salary) AS "Total Salary"
FROM employee_info
GROUP BY occupation
ORDER BY SUM(salary);
Kết quả:
Hàm SUM với OVER()
Mệnh đề OVER() xác định số hàng từ truy vấn được áp dụng cho hàm đó, theo thứ tự hàm đánh giá chúng và khi các phép tính của hàm được khởi động lại. Truy vấn bên dưới cung cấp tổng doanh số tích lũy cho từng công việc ở bảng employee_info:
SELECT DISTINCT occupation,
SUM(salary) OVER (PARTITION BY occupation) AS "Total Salary"
FROM employee_info;
Với bất kỳ ai đã quen dùng hàm SUM() SQL đều biết, nó bỏ qua giá trị NULL từ cột số bất kỳ trong suốt quá trình tính toán. Ví dụ sau sẽ cho bạn thấy rõ điều đó. Đầu tiên, chèn một số hàng bổ sung chứa giá trị NULL, sau đó liệt kê tất cả giá trị từ bảng này để xác minh kết quả đầu ra tiếp theo.
Lệnh đầu tiên hiện toàn bộ giá trị từ bảng Sales và truy vấn thứ hai bổ sung tất cả giá trị được lưu ở cột Price & Quantity để chứng minh hàm tính tổng SQL Server bỏ qua các giá trị NULL.
SELECT * FROM Sales GO SELECT SUM(Price) AS [Total Sales], SUM(Quantity) AS [Total units] FROM Sales
Bạn có thể thấy giá trị NULL ở cả hai cột được trả về bởi truy vấn đầu tiên và thứ hai đã trả về tổng các giá trị được lưu ở cột Price & Quantity. Bạn có thể thấy giá trị NULL không được tính tới trong khi trả về kết quả này:
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn