Tính tổng nhiều hàng trong MySQL

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 tổng MySQL ()

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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

Như hình trên, sum đã tính tổng giá thành tổng 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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

Đố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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

Ở đâ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 trong đó 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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

Nhà cung cấp – Mã số 2

select * from suppliers;

đầu ra

Tính tổng nhiều hàng trong MySQL

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

Tính tổng nhiều hàng trong MySQL

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 –

Làm cách nào để SUM nhiều hàng trong MySQL?

Hàm MySQL SUM() trả về tổng của một biểu thức. Hàm SUM() trả về NULL khi tập trả về không có hàng. Trong đó expr là một biểu thức. Từ khóa DISTINCT chỉ có thể được sử dụng để tính tổng các giá trị riêng biệt của expr.

Làm cách nào để lấy TỔNG các hàng trong MySQL?

Hàm sum() của MySQL được sử dụng để trả về tổng giá trị tổng của một biểu thức. Nó trả về NULL nếu tập kết quả không có hàng nào. .
CHỌN TỔNG (biểu_thức tổng hợp)
TỪ bảng
[điều kiện NƠI];

Làm cách nào để TỔNG 2 giá trị trong MySQL?

MySQL - Toán tử bổ sung (+) .

SUM() trong MySQL là gì?

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