我正在尝试进行SQL查询,但在尝试了12小时后,我决定打开一个主题,也许有人可以帮助我:
我的表是"transactions":
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打印它,我应该做什么代码?我真的需要你的帮助。
发布于 2014-08-15 06:48:54
我不知道您使用的是什么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发布于 2014-08-15 06:51:58
你需要使用一个函数来截断日期和分组。此函数因DBMS而异。在Oracle中,应该是这样的:
SELECT TRUNC(date,'YYYY-MON'), SUM(income) FROM table1
GROUP BY TRUNC(date,'YYYY-MON')例如,在MySQL中,您可以使用DATE_FORMAT()
发布于 2014-08-15 06:58:03
试试这个:
SELECT DATEPART(MONTH,[DATE]) AS 'DATE', SUM(income) AS 'Sum' from #transactions
Group BY DATEPART(MONTH,[DATE])https://stackoverflow.com/questions/25318705
复制相似问题