Hàm SUM được sử dụng để tính tổng các giá trị trong một cột của bảng. Ví dụ có thể tính tổng số lương của tất cả nhân viên trong một bảng.
Cú pháp của hàm SUM trong MySQL
SELECT SUM(column_name)
FROM table_name;
Trong đó:
- column_name: Là tên cột cần tính tổng
- table_name: Là tên bảng
Cũng có thể sử dụng thêm mệnh đề WHERE để lọc theo các điều kiện rồi tính tổng các hàng thỏa mãn.
SELECT SUM(column_name)
FROM table_name
WHERE condition
condition: Điều kiện
Hoặc tính tổng theo từng nhóm được nhóm bởi mệnh đề GROUP BY.
SELECT SUM(column_name)
FROM table_name
GROUP BY column_name1
(Vẫn có thể sử dụng mệnh để where ở đây nhé)
column_name1: Tên cột để nhóm
>>XEM THÊM: Mệnh đề JOIN trong MySQL – Mệnh đề kết hợp dữ liệu từ nhiều bảng
Ví dụ sử dụng
Mình có bảng dữ liệu Users như dưới đây.
Ví dụ 1: Với cột salary là tiền lương của mỗi user, vậy để tính tổng tất cả lương phải trả của toàn bộ user. Lệnh SQL.
SELECT SUM(salary) as total_salary
FROM `users`
Kết quả thực hiện truy vấn.
as total_salary là để đặt lại bí danh cho cột tính tổng (SUM(salary)). Nếu chưa hiểu về as, đọc thêm bài viết này nhé: Sử dụng AS (Alias) trong MySQL – Đặt bí danh trong MySQL.
Ví dụ 2: Tính tổng lương của các user là Admin, tức là các user có role là 1. Vậy chúng ta sẽ kết hợp thêm mệnh đề WHERE với điều kiện là role = 1.
SELECT SUM(salary) as total_salary
FROM `users`
WHERE role = 1
Kết quả thực hiện truy vấn
Ví dụ 3: Tính tổng tiền lương theo từng nhóm role user.
SELECT role, SUM(salary) as total_salary
FROM `users`
GROUP BY role
Kết quả thực hiện truy vấn.
Kết quả các user có role 1 tổng tiền lương sẽ là 19.500.000. nhóm role 2 là 16.200.000 và nhóm role 3 là 7.500.00.
Cảm ơn bạn đã đợc hết bài viết! CHúc bạn học tốt!
[XEM TẤT CẢ CÁC BÀI HƯỚNG DẪN MYSQL TẠI ĐÂY]
XEM THÊM Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT Toán tử so sánh trong MySQL – So sánh bằng, lớn hơn, nhỏ hơn