TỔNG (THƯỜNG HỢP KHI 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

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, 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

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 –

trường hợp tổng trong MySQL là gì?

Hàm sum[] của MySQL được 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. Nó là một trong những loại hàm tổng hợp trong MySQL.

Bạn có thể sử dụng chữ hoa chữ thường khi ở trong MySQL không?

Câu lệnh CASE duyệt qua các điều kiện và trả về giá trị khi đáp ứng điều kiện đầu tiên [giống như câu lệnh IF-THEN-ELSE]. Vì vậy, khi một điều kiện là đúng, nó sẽ ngừng đọc và trả về kết quả. Nếu không có điều kiện nào đúng, nó sẽ trả về giá trị trong mệnh đề ELSE.

Làm thế nào để viết điều kiện trường hợp trong MySQL?

Câu lệnh TRƯỜNG HỢP MySQL .
TRƯỜNG HỢP. KHI điều kiện1 THEN kết quả1. KHI điều kiện2 THÌ kết quả2. WHEN điều kiện THEN kết quả. kết quả KHÁC. .
Thí dụ. CHỌN OrderID, Số lượng, TRƯỜNG HỢP. KHI Số lượng > 30 THÌ 'Số lượng lớn hơn 30'.
Thí dụ. CHỌN Tên khách hàng, Thành phố, Quốc gia. Từ khách hàng. ĐẶT BỞI

Chúng ta có thể thêm trường hợp trong mệnh đề không?

Case có thể được sử dụng trong bất kỳ câu lệnh hoặc mệnh đề nào cho phép biểu thức hợp lệ . Ví dụ: bạn có thể sử dụng CASE trong các câu lệnh như SELECT, UPDATE, DELETE và SET cũng như trong các mệnh đề như select_list, IN, WHERE, ORDER BY và HAVING.

Làm cách nào để sử dụng hàm tổng hợp trong câu lệnh tình huống trong SQL?

Câu lệnh CASE trong SQL và các hàm tổng hợp .
Đầu tiên, hàm SQL DATEPART lọc dữ liệu theo năm. .
Sau đó, chúng tôi sử dụng câu lệnh CASE để trả về 1 nếu năm là 2007
Hàm đếm tổng hợp đếm các bản ghi và hiển thị kết quả
Tương tự, truy vấn hoạt động cho các năm còn lại

Chủ Đề