Sum () là một hàm tổng hợp trong MySQL. Bạn có thể sử dụng truy vấn tổng với điều kiện if. Để hiểu truy vấn tổng với điều kiện if, chúng ta hãy tạo một bảng.
Truy vấn tạo bảng -
mysql> create table SumWithIfCondition −> ( −> ModeOfPayment varchar(100) −> , −> Amount int −> ); Query OK, 0 rows affected (1.60 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into SumWithIfCondition values('Offline',10); Query OK, 1 row affected (0.21 sec) mysql> insert into SumWithIfCondition values('Online',100); Query OK, 1 row affected (0.16 sec) mysql> insert into SumWithIfCondition values('Offline',20); Query OK, 1 row affected (0.13 sec) mysql> insert into SumWithIfCondition values('Online',200); Query OK, 1 row affected (0.16 sec) mysql> insert into SumWithIfCondition values('Offline',30); Query OK, 1 row affected (0.11 sec) mysql> insert into SumWithIfCondition values('Online',300); Query OK, 1 row affected (0.17 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from SumWithIfCondition;
Sau đây là kết quả -
+---------------+--------+ | ModeOfPayment | Amount | +---------------+--------+ | Offline | 10 | | Online | 100 | | Offline | 20 | | Online | 200 | | Offline | 30 | | Online | 300 | +---------------+--------+ 6 rows in set (0.00 sec)
Đây là truy vấn tổng với điều kiện if.
Trường hợp 1 - nếu đối với Phương thức Thanh toán Trực tuyến
Truy vấn như sau -
mysql> select sum(if(ModeOfPayment = 'Online',Amount,0)) as TotalAmount from SumWithIfCondition;
Sau đây là kết quả -
+-------------+ | TotalAmount | +-------------+ | 600 | +-------------+ 1 row in set (0.00 sec)
Trường hợp 2 - nếu dành cho Phương thức Thanh toán Ngoại tuyến
Truy vấn như sau -
mysql> select sum(if(ModeOfPayment = 'Offline',Amount,0)) as TotalAmount from SumWithIfCondition;
Sau đây là kết quả -
+-------------+ | TotalAmount | +-------------+ | 60 | +-------------+ 1 row in set (0.00 sec)