Sử dụng biến session @bien trong SELECT để tính toán tích lũy (running total) hoặc giá trị phụ thuộc hàng trước.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
mysql> CREATE TABLE DemoTable1868 (Value INT); mysql> INSERT INTO DemoTable1868 VALUES(10),(20),(30),(40);
Tính tổng tích lũy (SecondColumn = Value + giá trị trước):
mysql> SELECT Value, (@iterator:=Value+@iterator) AS SecondColumn
FROM DemoTable1868, (SELECT @iterator:=0) tbl;
Kết quả:
+-------+--------------+ | Value | SecondColumn | +-------+--------------+ | 10 | 10 | | 20 | 30 | | 30 | 60 | | 40 | 100 | +-------+--------------+
Lưu ý: Thứ tự hàng không đảm bảo nếu không có ORDER BY. MySQL 8+ khuyến khích dùng Window Function SUM(Value) OVER (ORDER BY ...) thay vì biến.