Ví dụ
Trả về tổng của trường "Số lượng" trong bảng "Chi tiết đơn hàng"
CHỌN SUM[Số lượng] dưới dạng Tổng số mặt hàng được đặt hàng TỪ chi tiết đơn hàng;
Tự mình thử »Định nghĩa và cách sử dụng
Hàm SUM[] tính tổng của một tập hợp các giá trị
Ghi chú. Giá trị NULL bị bỏ qua
cú pháp
Giá trị tham số
Tham sốMô tảBiểu thứcBắt buộc. Một trường hoặc một công thứcchi tiết kỹ thuật
Hàm SUM[] của MySQL được triển khai bằng câu lệnh SELECT và cũng có thể được tính toán bằng các mệnh đề THAM GIA
- Chúng tôi cũng sử dụng hàm MySQL SUM[] cùng với mệnh đề WHERE để truy xuất tổng kết quả của một biểu thức cụ thể được làm rõ theo một điều kiện được định vị sau mệnh đề WHERE. Điều này sẽ hữu ích để tìm tổng các giá trị từ một tập hợp lớn dữ liệu trong cơ sở dữ liệu
- Giả sử, nếu chúng ta cần xoay các hàng của bảng thành các cột của bảng thì hàm SUM[] được sử dụng cùng với biểu thức CASE của MySQL, đây là một loại logic SUMIF được minh họa bên dưới
SELECT
SUM[CASE
WHEN expression…
END] ColumnName1,
SUM[CASE
WHEN expression…
END] ColumnName2,…..,
FROM TableName1 INNER JOIN TableName2 USING[ColumnName];
Ở đây, cú pháp hiển thị một câu lệnh CASE với hàm SUM[] được đánh giá cho các cột trong bảng được thực hiện cho các bảng tương ứng. Các bảng cũng được nối với INNER JOIN và áp dụng từ khóa USING để chỉ định tên cột của bảng
Vì SUM[] là một hàm tổng hợp nên nó hoạt động trên nhiều hàng của bảng hoặc của một cột trong bảng để tìm kết quả tổng chỉ trả về một giá trị
Ví dụ để triển khai MySQL sum[]
Hãy để chúng tôi đánh giá MySQL SUM[] để hiển thị hoạt động của tổng với các cột và hàng của bảng để có tổng kết quả
Ví dụ 1. Ví dụ đơn giản về hàm MySQL SUM[]
Chúng ta hãy lấy một bảng từ cơ sở dữ liệu làm bảng demo để tạo tổng giá trị bảng cột
Chúng tôi có một bảng có tên là Sách có một số trường được xác định bằng các cột là BookID, BookName, Language và Price. Để xem nội dung của bảng Sách này, chúng ta hãy truy vấn dữ liệu
Mã số 1
SELECT * FROM Books;
đầu ra
Chúng ta sẽ sử dụng hàm tổng hợp SUM[] để lấy tổng giá sách từ bảng số lượng bằng truy vấn bên dưới
Mã số 2
SELECT SUM[Price]Total_Price FROM Books;
đầu ra
Như hình trên, tổng đã tính tổng giá thành từ cột sách
Chúng tôi cũng có thể áp dụng từ khóa DISTINCT để tìm ra giá trị tổng duy nhất của các giá trị cột duy nhất. Vì vậy, hàm SUM[] sẽ bỏ qua các giá trị trùng lặp và giá trị NULL nếu có trong các cột giá trị của bảng
Mã số 3
SELECT SUM[DISTINCT Price] Total_Price FROM Books;
đầu ra
Nó hiển thị tổng số tiền giống nhau vì cột Giá không chứa bất kỳ giá trị trùng lặp nào
Ví dụ #2. với biểu hiện
Giả sử, chúng ta có một bảng tên là Nhà cung cấp
Mã số 1
select * from suppliers;
đầu ra
Đối với các mục hàng của nhà cung cấp có id nhà cung cấp 11, chúng tôi có truy vấn sau đây như
Mã số 2
SELECT Category, Unit, CostEach FROM Suppliers WHERE Supplier_ID = 11;
đầu ra
Bây giờ, chúng ta sẽ tính tổng cho một mặt hàng của nhà cung cấp với Mã nhà cung cấp là 11 bằng cách sử dụng hàm MySQL SUM[]
Mã số 3
SELECT SUM[Unit * CostEach]TotalCost FROM Suppliers WHERE Supplier_ID = 11;
đầu ra
Ví dụ #3. với mệnh đề GROUP BY và mệnh đề ORDER BY
Chúng ta sẽ sử dụng hàm SUM[] với mệnh đề GROUP BY để tạo ra kết quả tổng bằng cách nhóm các giá trị dựa trên một cột cụ thể của bảng. Ví dụ: sử dụng hàm SUM[], chúng tôi sẽ truy vấn tổng giá của từng mặt hàng của nhà cung cấp với mệnh đề GROUP BY
Mã số 1
SELECT Supplier_ID, SUM[Unit * CostEach] TotalCost FROM Suppliers GROUP BY Supplier_ID ORDER BY TotalCost DESC;
đầu ra
Ở đây, tập kết quả được nhóm theo id Nhà cung cấp và được sắp xếp theo tổng chi phí được tính theo thứ tự giảm dần
Ví dụ #4. với mệnh đề HAVING
Mệnh đề HAVING được sử dụng với hàm SUM[] để lọc nhóm tổng mà tổng chi phí lớn hơn giá trị số nguyên được cung cấp nhất định như sau
Mã số 1
SUM[DISTINCT Expr_Value]
0
đầu ra
Ví dụ #5. với NULL
Nếu tập kết quả trống thì SUM[] trả về giá trị NULL nhưng bạn cũng có thể hiển thị số 0 thay vì sử dụng COALESCE[] với hai đối số
Mã số 1
SUM[DISTINCT Expr_Value]
1
đầu ra
Kết quả là 0 vì không có hàng nào có id nhà cung cấp 15 trong bảng Nhà cung cấp
Ví dụ #6. với mệnh đề THAM GIA
Chúng tôi sẽ lấy hai bảng Sản phẩm và Nhà cung cấp ở đâu
Sản phẩm – Mã số 1
SUM[DISTINCT Expr_Value]
2
đầu ra
Nhà cung cấp – Mã số 2
select * from suppliers;
đầu ra
Tính tổng theo mệnh đề SUM[] với mệnh đề JOIN như sau
Mã số 3
SUM[DISTINCT Expr_Value]
4
đầu ra
Giá trị tổng kết quả được đánh giá trên cơ sở một điều kiện được cung cấp bởi các giá trị trong bảng tiếp theo
Phần kết luận
- MySQL SUM[] tương tự như phép tính tổng toán học tìm ra tổng giá trị bảng được cung cấp trong cơ sở dữ liệu
- Hàm tổng hợp SUM[] rất hữu ích để lấy tập kết quả dữ liệu tóm tắt của các giá trị kiểu dữ liệu số nguyên, đặc biệt đối với các giá trị cột đó của bảng chứa bất kỳ bản ghi sản phẩm hoặc cơ sở dữ liệu liên quan đến thương mại điện tử hoặc doanh nghiệp nào
Bài viết được đề xuất
Đây là hướng dẫn về MySQL sum[]. Ở đây chúng ta thảo luận về phần giới thiệu về MySQL sum[], cú pháp, tham số, cách nó hoạt động với các ví dụ truy vấn. Bạn cũng có thể xem qua các bài viết liên quan khác của chúng tôi để tìm hiểu thêm –