1
我相信這是一個相當平凡的問題,但我不確定谷歌找到解決方案。在嵌套select中使用父查詢的結果
我有一個表,看起來像這樣:
CREATE TABLE IF NOT EXISTS `transactions` (
`name` text collate utf8_swedish_ci NOT NULL,
`value` decimal(65,2) NOT NULL,
`date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci ROW_FORMAT=COMPACT;
我從我的網上銀行服務的剪切和粘貼數據填充此。 值可以是正值或負值,什麼日期和名字中含有應該是相當明顯;) 我已經建立了一個查詢,讓我看看我的底線爲每月:
SELECT sum(`value`) as 'change', DATE_FORMAT(`date`, '%M %Y') as 'month'
FROM `transactions`
WHERE 1
GROUP BY year(`date`), month(`date`)
現在我想將該月末的賬戶累計總額增加一列。
SELECT sum(`value`) as 'change', DATE_FORMAT(`date`, '%M %Y') as 'month',
(SELECT sum(`value`) FROM `transactions` WHERE `date` <= 123) as 'accumulated'
FROM `transactions`
WHERE 1
GROUP BY year(`date`), month(`date`)
123並不完全是我想要的,但我不明白如何從我的DATE_FORMAT裏面的子查詢中得到結果。
這甚至是解決問題的正確方法嗎?
這主要是一個個人練習(運行在一個非常小的數據集上),所以我不關心性能,可讀的SQL更重要。
我在MySQL 5.0.45運行InnoDB表
我*想*我明白這裏發生了什麼,但是第一個「改變」字段是什麼? – grapefrukt 2009-05-27 12:37:26