我有以下需要: 我需要计算从所有日期激活每个ID的次数。
我们说这个表看起来像这样:
tbl_activates
PersonId int,
ActivatedDate datetime
结果集应如下所示:
counted_activation | ActivatedDate
5 | 2009-04-30
7 | 2009-04-29
5 | 2009-04-28
7 | 2009-04-27
......等等
任何人都知道如何以最好的方式做到这一点?日期格式如下' 2011-09-06 15:47:52.110',我只需要与没有时间的日期联系。 (每个日期的摘要)
答案 0 :(得分:0)
你可以使用count(distinct ..)
如果ActivatedDate是datetime,您可以获得日期部分
select Cast(ActivatedDate AS date), count(distinct id)
from my_table
group by ast(ActivatedDate AS date)
答案 1 :(得分:0)
您可以使用to_char函数删除日期之后的时间
select count(*) counted_activation,
to_char(activatedDate,"yyyy-mm-dd") ActDate
from table1
group by to_char(activatedDate,"yyyy-mm-dd");
答案 2 :(得分:0)
使用'GROUP BY'和'COUNT'。使用CONVERT方法将datetime转换为仅日期
SELECT CONVERT(DATE,activatedate), COUNT(userId)
FROM [table]
GROUP BY CONVERT(DATE,InvoiceDate)