इसे संचयी योग कहा जाता है।
Oracle
. में और PostgreSQL
, इसकी गणना एक विंडो फ़ंक्शन का उपयोग करके की जाती है:
SELECT id, val, SUM() OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM mytable
हालांकि, MySQL
इसका समर्थन नहीं करता।
MySQL
. में , आप सत्र चर का उपयोग करके इसकी गणना कर सकते हैं:
SET @s = 0;
SELECT id, val, @s := @s + val
FROM mytable
ORDER BY
id
;
या शुद्ध सेट-आधारित लेकिन कम कुशल तरीके से:
SELECT t1.id, t1.val, SUM(t2.val)
FROM mytable t1
JOIN mytable t2
ON t2.id <= t1.id
GROUP BY
t1.id
;