有问题返回行数和日期时间戳

时间:2013-08-22 17:12:44

标签: sql sql-server sql-server-2008 sql-server-2008-r2

样本集

ID        TimeStamp       ClientID
1   2013-08-22  08:18:21  XX.XXX.XX.XX
2   2013-08-22  09:18:12  XX.XXX.XX.XX
3   2013-08-22  10:20:12  XX.XXX.XX.XX

我需要结果显示行数(基本上是使用的次数),以及开始和结束日期/时间戳。基本上是过去24小时内的第一行和第三行,按最终用户分组。 这就是我到目前为止所做的,但它并没有按照我想要的方式工作,因为它显示每行正常,使用时间为'1'。

SELECT     COUNT(*) as 'Times in Use',TimeStamp, ClientID
FROM       tblHistory
WHERE      (TimeStamp > DATEADD(day, - 1, GETDATE()))
GROUP BY   ClientID, TimeStamp

1 个答案:

答案 0 :(得分:2)

select
    ClientID,
    min(TimeStamp) as TimeStamp_start,
    max(TimeStamp) as TimeStamp_end,
    count(*) as cnt
from tblHistory
where
   TimeStamp >= dateadd(hh, -24, getdate())
group by ClientID