我正在尝试进行SQL查询但是在尝试12小时之后我决定打开一个主题,也许有人可以帮助我:
我的桌子是“交易”:
id | client_id | date | income |
1 | 100 | 2014-07-14 10:25:06 | 100 |
2 | 101 | 2014-07-11 20:25:06 | 200 |
3 | 102 | 2014-08-01 22:25:06 | 150 |
4 | 101 | 2014-08-01 22:25:06 | 300 |
5 | 101 | 2014-08-01 22:25:06 | 300 |
我需要计算每个月(1月,2月,3月......)所有“收入”的总和。
从上表中可以看出:
July: 300 EUR
August: 750 EUR
有人可以帮我找到合适的SQL吗?
我需要用php打印它,我应该做什么代码? 真的,我需要你的帮助。
答案 0 :(得分:0)
我不知道你正在使用什么SQL格式,我也没有在我面前的环境,但它会是这样的。
SELECT derivedTable.MonthDate, sum(derivedTable.income)
FROM
(
SELECT FORMAT(inp.DATE, 'mmyy') as MonthDate, income FROM transactions
) derivedTable(MonthDate, income)
GROUP BY derivedTable.MonthDate
答案 1 :(得分:0)
您需要使用函数来截断日期和组。每个DBMS的此功能不同。在Oracle中,它将是这样的:
SELECT TRUNC(date,'YYYY-MON'), SUM(income) FROM table1
GROUP BY TRUNC(date,'YYYY-MON')
例如,在MySQL中,您可以使用DATE_FORMAT()
答案 2 :(得分:0)
试试这个:
SELECT DATEPART(MONTH,[DATE]) AS 'DATE', SUM(income) AS 'Sum' from #transactions
Group BY DATEPART(MONTH,[DATE])