我需要一个查询来计算SQL Server 2005中每个不同时间戳的用户实例数

时间:2017-08-15 15:24:58

标签: sql sql-server sql-server-2005

这是我的数据表:

userid  timestamp
------------------------
user1   2017-08-15 17:00
user1   2017-08-15 17:00
user1   2017-08-15 17:00
user2   2017-08-15 17:00
user2   2017-08-15 17:00
user3   2017-08-15 17:00
user1   2017-08-15 18:00
user1   2017-08-15 18:00
user2   2017-08-15 18:00
user2   2017-08-15 18:00
user2   2017-08-15 18:00
user3   2017-08-15 18:00

我希望结果看起来像这样:

userid    countoftimestamp
-----------------------------
user1     3_2017-08-15 17:00
user2     2_2017-08-15 17:00
user3     1_2017-08-15 17:00
user1     2_2017-08-15 18:00

等等。

2 个答案:

答案 0 :(得分:2)

SELECT userid, timestamp, count(*)
FROM datatabable
GROUP BY  userid, timestamp

答案 1 :(得分:1)

您可能会注意到我使用varchar(16)将时间戳截断为分钟(不包括秒和毫秒)

示例

Select userid
      ,countoftimestamp = cast(sum(1) as varchar(25))+'_'+convert(varchar(16),timestamp,20)
 From  YourTable
 Group By userid,convert(varchar(16),timestamp,20)

<强>返回

enter image description here