每天唯一条目的总和

时间:2013-11-25 06:53:36

标签: mysql sql group-by

我有一个像这样的表结构:

ID    commission     transdate           token 

1      10         2013-11-22 08:24:00    token1
2      10         2013-11-22 08:24:00    token1
3      10         2013-11-22 08:24:00    token1
4      10         2013-11-22 08:24:00    token1
5      10         2013-11-22 08:24:00    token1
6      29         2013-11-22 06:24:00    token2
7      29         2013-11-22 06:24:00    token2

问题是我的表中有一些重复的条目用于某些数据,我需要在使用SUM时将其过滤掉。如果transdate是相同的并且令牌相同,我只需要考虑一个条目的总和。我需要的总和是按日期分组的所有令牌的所有佣金的总和。

如何通过查询来完成此操作?

3 个答案:

答案 0 :(得分:4)

DATE使用GROUP BY

SELECT 
  SUM(comission), 
  token, 
  DATE(transdate) 
FROM
  t 
GROUP BY 
  token, 
  DATE(transdate)

答案 1 :(得分:2)

尝试以下查询,

仅考虑特定令牌的日期条目:

SELECT commission,
       date(transdate),
       token 
FROM tokens 
GROUP BY date(transdate),
         token;

获取日期佣金总额

SELECT SUM(commission),
       DATE(transdate),
       token 
FROM tokens 
GROUP BY DATE(transdate),
         token;

Sql Fiddle Example

答案 2 :(得分:0)

试试这个..

SELECT SUM(commission), token, transdate FROM tableName GROUP BY token, transdate