Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tổng cột nếu điều kiện cột khác được đáp ứng trong MySQL

Tổng hợp có điều kiện với SUM() và GROUP BY trong MySQL

Sử dụng hàm tổng hợp SUM() kết hợp GROUP BY để tính tổng theo nhóm.

Tạo bảng và dữ liệu

mysql> create table DemoTable ( 
    EmployeeName varchar(20), 
    JoiningDate date, 
    Salary int 
); 
Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable values('David','2019-11-02',400); 
mysql> insert into DemoTable values('Robert','2018-11-25',100); 
mysql> insert into DemoTable values('Bob','2019-12-14',600); 
mysql> insert into DemoTable values('Carol','2019-11-03',300);

Truy vấn tổng lương theo năm/tháng nhập việc

mysql> select year(JoiningDate) as JoiningYear, 
    month(JoiningDate) as JoiningMonth, 
    sum(Salary) as Total, 
    group_concat(EmployeeName) as Name 
    from DemoTable 
    group by JoiningYear,JoiningMonth;

Kết quả

+-------------+--------------+-------+-------------+ 
| JoiningYear | JoiningMonth | Total | Name        | 
+-------------+--------------+-------+-------------+ 
| 2018        | 11           | 100   | Robert      | 
| 2019        | 11           | 700   | David,Carol | 
| 2019        | 12           | 600   | Bob         | 
+-------------+--------------+-------+-------------+

Ứng dụng: Kỹ thuật này phổ biến trong báo cáo doanh thu, lương, thống kê theo thời gian. Có thể thêm HAVING để lọc nhóm (ví dụ: HAVING Total > 500).