mysql获取唯一日期的总和

Posted

技术标签:

【中文标题】mysql获取唯一日期的总和【英文标题】:mysql get the sum of unique date 【发布时间】:2015-03-01 09:45:01 【问题描述】:

mysql 表中,我有基于日期的列表数量。我需要得到每个日期的金额总和:

例如:

id  type    date    amount  
1   1   2015-01-01  100
2   1   2015-01-01  150
3   1   2015-01-02  10
4   1   2015-01-03  250

2015-01-01 在这里出现了不止一次。

所以我需要像

这样的结果
date    amount  
2015-01-01  200
2015-01-02  10
2015-01-03  250

我的查询介于本周开始和结束之间

 SELECT * from mytable WHERE YEARWEEK(`date`) = YEARWEEK(CURRENT_DATE) AND `type` = 1 ORDER BY `date` ASC 

【问题讨论】:

【参考方案1】:

我认为结果应该是

date    amount  
2015-01-01  250
2015-01-02  10
2015-01-03  250

您可以使用这个 mysql 查询来获得该结果:

Select date, sum(amount) as amount 
from mytable 
GROUP BY date
ORDER BY date asc

如果您希望结果井井有条,请不要忘记添加“ORDER BY”子句

【讨论】:

【参考方案2】:

使用 GROUP BY

使用AS子句更改列名

SELECT   `date`, SUM(amount) AS amount 
FROM     mytable
GROUP BY `date` 

【讨论】:

【参考方案3】:

你需要一个group by 子句:

SELECT   `date`, SUM(amount)
FROM     mytable
GROUP BY `date`

【讨论】:

以上是关于mysql获取唯一日期的总和的主要内容,如果未能解决你的问题,请参考以下文章

使用计数联合或使用总和连接 - MySQL

根据某些日期是不是介于 python 中的某个时间之间来查找唯一会员的付款总和

MYSQL 中当前行的日期之前(包括)日期之前的所有行的总和

MYSQL按日期累积总和[重复]

MySQL JOIN 2 个表并分别获取两个表的总和

按日期分组的 MySQL 累积总和