Bài học này sẽ hướng dẫn bạn cách sử dụng hàm tính tổng SUM[]. Nếu bạn chưa đọc qua Bài giới thiệu tổng thể của Tizag, vui lòng xem ngay. Nó giải thích các khái niệm được sử dụng trong bài học này
Chúng tôi sẽ sử dụng lại bảng "sản phẩm" -- lần này để hiển thị việc sử dụng hàm SUM của MySQL
Bạn có thể tải về các sản phẩm. sql từ trang web của chúng tôi. Nếu bạn chưa quen với MySQL, bạn sẽ cần biết cách Tạo Bảng MySQL và Chèn Hàng MySQL
Dưới đây là hình ảnh của bảng "sản phẩm"
Bảng sản phẩm
idnametypeprice123451Những bản hit hay của ParkÂm nhạc19. 99123452Silly PuddyToy3. 99123453PlaystationToy89. 95123454Áo thun namQuần áo32. 50123455ÁoQuần áo34. 97123456Điện tử 2002Âm nhạc3. 99123457Giai điệu đồng quêÂm nhạc21. 55123458Dưa hấuThực phẩm8. 73
SUM là một hàm tổng hợp tính tổng một cột cụ thể cho một nhóm. Bảng "sản phẩm" được hiển thị ở trên có một số sản phẩm thuộc nhiều loại khác nhau. Một cách sử dụng SUM có thể là tìm tổng giá của tất cả các mặt hàng cho từng loại sản phẩm
Giống như chúng ta đã làm trong bài giới thiệu tổng hợp, chúng ta sẽ áp dụng hàm tổng hợp cho giá và loại GROUP BY để tạo bốn nhóm. Âm nhạc, Đồ chơi, Quần áo và Thực phẩm
Mã PHP và MySQL
"; } ?>
Trưng bày
Tổng số quần áo = $67. 47
Tổng thức ăn = $8. 73
Tổng số nhạc = $45. 53
Tổng số đồ chơi = $93. 94
Nếu bạn muốn tải xuống bản PDF của hướng dẫn này, hãy xem Sách điện tử MySQL của chúng tôi từ Tizag. cửa hàng com. Bạn cũng có thể quan tâm đến việc nhận Sách điện tử PHP
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
________số 8_______
đầ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 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
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 –