我需要使用mysql显示progressive_total。
我有一个如下所示的表格:
id value cumulative_total
1 100 100
2 150 250
3 200 450
4 300 750
我想添加一个名为progressive_total的新列,因此表格将如下所示:
id value Progressive_total cumulative_total
1 100 - 100
2 150 100 250
3 200 250 450
4 300 450 750
我使用下面的 mysql 查询来显示累计总数:
SELECT t.id, t.value,
(SELECT SUM(x.value) FROM house_details x WHERE x.id <= t.id) AS cumulative_total
FROM house_details t
WHERE t.income IS NOT NULL AND t.income!= '' AND YEAR(t.cdate) = YEAR(CURRENT_DATE())
ORDER BY t.id
上面的查询工作正常并获取cumulative_total。但我也想显示progressive_total,就像我在示例中给出的那样。
最佳答案
SELECT t.id, t.value,
IFNULL((SELECT SUM(x.value) FROM house_details x WHERE x.id < t.id), '-') AS progressive_total,
(SELECT SUM(x.value) FROM house_details x WHERE x.id <= t.id) AS cumulative_total
FROM house_details t
WHERE t.income IS NOT NULL AND t.income!= '' AND YEAR(t.cdate) = YEAR(CURRENT_DATE())
ORDER BY t.id
关于mysql - 在 MySQL 中创建渐进求和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47386756/