我遇到了一些 mysql 的 sum 问题。我需要一张这样的发票表:
id invoice_num net_value date total_month
_______________________________________________________
1 100 100.00 21.01.2013 500.00
2 101 300.00 22.01.2013 500.00
3 102 100.00 23.01.2013 500.00
4 103 900.00 01.02.2013 900.00
.
.
.
问题是如何计算一个月(即上面的一月)所有发票的总和,并将该总和显示为一月发票最后一列的值。 一般来说,我需要按月分组但显示在每行中的发票金额总和。 预先感谢:)
最佳答案
如果您没有 iso 日期,请实现它
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
mysql> SELECT STR_TO_DATE('01.5.2013','%d.%m.%Y');
-> '2013-05-01'
日期采用 ISO 格式时的查询:
SELECT invoices.id, invoices.invoice_num, invoices.net_value, invoices.date, monthly.total_month
FROM invoices
INNER JOIN
(SELECT month(date) AS MONTH,
sum(net_value) AS total_month
FROM invoices group by month(date)) AS monthly ON monthly.MONTH=MONTH(invoices.date)
关于Mysql 行总和作为行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19052051/