ypercube का उत्तर बहुत शानदार है (मैंने कभी भी डमी के माध्यम से एक एकल क्वेरी के भीतर एक वैरिएबल निर्माण नहीं देखा था), इसलिए यहां आपकी सुविधा के लिए CREATE TABLE स्टेटमेंट है।
Google छवि खोज में सारणीबद्ध डेटा छवियों के लिए, आप इसे टेक्स्ट दस्तावेज़ में परिवर्तित करने के लिए https://convertio.co/ocr/ या https://ocr.space/ का उपयोग कर सकते हैं । यदि OCR स्तंभों का ठीक से पता नहीं लगाता है, और आपके पास एक Mac है, तो आयताकार चयन करने के लिए नीचे दिए गए विकल्प कुंजी के साथ TextWrangler का उपयोग करें और स्तंभों को चारों ओर ले जाएं। एसक्यूएल प्रो , टेक्स्टवर्ंगलर जैसे एसक्यूएल एडिटर का संयोजन और Google डॉक्स की तरह एक स्प्रेडशीट, टैब से अलग किए गए सारणीबद्ध डेटा से निपटने में बेहद कुशल है।
अगर मैं यह सब एक टिप्पणी में डाल सकता हूं, तो कृपया इस उत्तर को न दें।
-- DROP TABLE statements;
CREATE TABLE IF NOT EXISTS statements (
id integer NOT NULL AUTO_INCREMENT,
stmnt_date date,
debit integer not null default 0,
credit integer not null default 0,
PRIMARY KEY (id)
);
INSERT INTO statements
(stmnt_date , debit, credit) VALUES
('2014-06-17', 20000, 0 ),
('2014-08-14', 0 , 3000 ),
('2014-07-16', 0 , 3000 ),
('2015-02-01', 3000 , 0 ),
('2014-05-15', 3000 , 0 );
-- this is slightly modified from ypercube's (@b := 0 vs @b := 0.0)
SELECT
s.stmnt_date, s.debit, s.credit,
@b := @b + s.debit - s.credit AS balance
FROM
(SELECT @b := 0) AS dummy
CROSS JOIN
statements AS s
ORDER BY
stmnt_date ASC;
/* result
+------------+-------+--------+---------+
| stmnt_date | debit | credit | balance |
+------------+-------+--------+---------+
| 2014-05-15 | 3000 | 0 | 3000 |
| 2014-06-17 | 20000 | 0 | 23000 |
| 2014-07-16 | 0 | 3000 | 20000 |
| 2014-08-14 | 0 | 3000 | 17000 |
| 2015-02-01 | 3000 | 0 | 20000 |
+------------+-------+--------+---------+
5 rows in set (0.00 sec)
*/