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

Tính tổng giá trị lớn hơn giữa hai cột trên mỗi hàng MySQL

Sử dụng CASE WHEN trong hàm SUM(). Tạo bảng:

mysql> create table DemoTable    -> (    -> X int,    -> Y int    -> ); Query OK, 0 rows affected (0.57 sec)

Chèn dữ liệu:

mysql> insert into DemoTable values(20,30); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(40,15); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(80,85); Query OK, 1 row affected (0.13 sec)

Hiển thị dữ liệu:

mysql> select *from DemoTable;

Kết quả

+------+------+ | X    | Y    | +------+------+ |   20 |   30 | |   40 |   15 | |   80 |   85 | +------+------+ 3 rows in set (0.00 sec)

Truy vấn tổng giá trị lớn hơn trên mỗi hàng:

mysql> SELECT SUM(CASE WHEN X > Y THEN X ELSE Y END) from DemoTable;

Kết quả

+----------------------------------------+ | SUM(CASE WHEN X > Y THEN X ELSE Y END) | +----------------------------------------+ |                                    155 | +----------------------------------------+ 1 row in set (0.00 sec)