SQL,尝试使用日期时间列获取总和

时间:2018-07-03 17:50:08

标签: sql

我有2列,一列显示电子邮件,另一列显示电子邮件的创建日期。

我想做的是这样的:

registered customer     4     Date 01-01-2018
registered customer     2     Date 01-02-2018   
registered customer     9     Date 01-03-2018  

任何帮助将不胜感激。

谢谢

3 个答案:

答案 0 :(得分:2)

如果表结构包含2列(电子邮件,created_at),则应按created_at字段将数据分组。 示例:

   select date, count(email) as count 
   from your_table 
   group by date

答案 1 :(得分:1)

您似乎想要:

select date, count(email) as emailcount
from table t
group by date;

编辑::使用count()代替sum(),如果您想将按日发送的电子邮件算作注册客户,请使用GROUP BY子句中的日期代替做聚合

SELECT SITEID, THEDATE, COUNT(EMAIL) 
FROM [database].[dbo].[table] 
WHERE LOGIN NOT LIKE '' AND SITEID = 'someSiteId' AND 
      THEDATE >= '2017-01-01' 
GROUP BY SITEID, THEDATE
ORDER BY THEDATE ASC; 

答案 2 :(得分:0)

根据您拥有的条目数,您也可以这样做:

Select Num, date
FROM table
ORDER BY date 

然后将Num设为表中的标识列,该列将电子邮件与客户编号匹配。也许取决于您的数据不是很理想...但是如果您要按客户编号指代客户,则可能需要在表中显示该信息。