首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每月求和行数sql

问每月求和行数sql
EN

Stack Overflow用户
提问于 2014-08-15 06:41:12
回答 3查看 171关注 0票数 0

我正在尝试进行SQL查询,但在尝试了12小时后,我决定打开一个主题,也许有人可以帮助我:

我的表是"transactions":

代码语言:javascript
复制
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月)所有“收入”的总和。

根据上表,它将提供以下信息:

代码语言:javascript
复制
July: 300 EUR 
August: 750 EUR

有人能帮我找到合适的SQL吗?

我需要用php打印它,我应该做什么代码?我真的需要你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2014-08-15 06:48:54

我不知道您使用的是什么SQL格式,我面前也没有一个环境,但它会是这样的。

代码语言:javascript
复制
SELECT derivedTable.MonthDate, sum(derivedTable.income)
FROM
(
  SELECT FORMAT(inp.DATE, 'mmyy') as MonthDate, income FROM transactions
) derivedTable(MonthDate, income)
GROUP BY derivedTable.MonthDate
票数 0
EN

Stack Overflow用户

发布于 2014-08-15 06:51:58

你需要使用一个函数来截断日期和分组。此函数因DBMS而异。在Oracle中,应该是这样的:

代码语言:javascript
复制
SELECT TRUNC(date,'YYYY-MON'), SUM(income) FROM table1
GROUP BY TRUNC(date,'YYYY-MON')

例如,在MySQL中,您可以使用DATE_FORMAT()

票数 0
EN

Stack Overflow用户

发布于 2014-08-15 06:58:03

试试这个:

代码语言:javascript
复制
SELECT DATEPART(MONTH,[DATE]) AS 'DATE', SUM(income) AS 'Sum' from #transactions
Group BY DATEPART(MONTH,[DATE])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25318705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档