यहां सभी पूर्व पंक्तियों को एकत्र करने की अक्षमता के बिना एक रनिंग कुल बनाने का एक तरीका है। (मैं जानता हूँ कि इस सवाल का 6 साल पुराना है, लेकिन यह SQLite कुल चलाने के लिए पहले गूगल प्रविष्टियों में से एक है।)
create table t1 (value integer, accumulated integer, id integer primary key);
insert into t1 (value) values (1);
insert into t1 (value) values (3);
insert into t1 (value) values (13);
insert into t1 (value) values (1);
insert into t1 (value) values (5);
UPDATE
t1
SET
accumulated = ifnull(
(
SELECT
ifnull(accumulated,0)
FROM
t1 ROWPRIOR
WHERE
ROWPRIOR.id = (t1.id -1)),0) + value;
.headers on
select * from t1;
value|accumulated|id
1|1|1
3|4|2
13|17|3
1|18|4
5|23|5
यह केवल सभी मूल्यों आयात करने के बाद एक बार चलाने की जानी चाहिए। या, फिर से चलाने से पहले एकत्रित कॉलम को सभी नल पर सेट करें।
क्या यह ऑर्डर करने के लिए आईडी के बिना किसी तालिका पर काम करता था (या सख्त <या अद्वितीय <= तुलना) की संभावना के बिना किसी अन्य मानदंड के बाद ऑर्डर करना, मैं इस उत्तर को स्वीकार कर लेता ... – moala
आप एक विश्लेषणात्मक क्वेरी के साथ tthis कर सकते हैं जब आप ओरेकल का उपयोग करते हैं, तो कोई भी स्वयं की आवश्यकता नहीं होती है, http://www.orafaq.com/node/55 देखें। अफसोस की बात है कि SQL विश्लेषणात्मक प्रश्नों का समर्थन नहीं करता है। – TTT