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

Thêm cột SubTotal tính lũy tiến cho cột có giá trị NULL trong MySQL

Tạo bảng:

mysql> create table DemoTable -> ( -> Amount int, -> SubTotal int -> ); Query OK, 0 rows affected (0.65 sec)

Chèn dữ liệu (chỉ điền Amount, SubTotal để NULL):

mysql> insert into DemoTable(Amount) values(50); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable(Amount) values(60); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable(Amount) values(70); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(Amount) values(80); Query OK, 1 row affected (0.17 sec)

Hiển thị dữ liệu:

mysql> select *from DemoTable;

Kết quả

+--------+----------+ | Amount | SubTotal | +--------+----------+ |     50 |   NULL | |     60 |   NULL | |     70 |   NULL | |     80 |   NULL | +--------+----------+ 4 rows in set (0.00 sec)

Cập nhật SubTotal lũy tiến bằng biến người dùng:

mysql> set @sum := 0; Query OK, 0 rows affected (0.10 sec) mysql> update DemoTable set SubTotal = (@sum := @sum + Amount); Query OK, 4 rows affected (0.19 sec) Rows matched: 4  Changed: 4 Warnings: 0

Kiểm tra lại:

mysql> select *from DemoTable;

Kết quả

+--------+----------+ | Amount | SubTotal | +--------+----------+ |     50 |     50   | |     60 |     110  | |     70 |     180 | |     80 |     260 | +--------+----------+ 4 rows in set (0.00 sec)