求教SQL语句,查询最近八小时的记录SQL语句

hu8102 2021-09-26 13:12:50

现有表

 

time1,time2,tool

 

time1为开始时间,tim2为结束时间

现要求查询最近八小时里面【每个小时】的使用【分钟总和】和统计【使用次数】

 

最近八小时查询出来应该是八条记录,查询不到则默认为0

...全文
396 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2021-09-27
  • 打赏
  • 举报
回复

USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL
    DROP TABLE t
GO
CREATE TABLE t
(
    time1     DATETIME,
    time2     DATETIME,
    tool      INT
)
GO
INSERT INTO dbo.t VALUES('20210927 16:00','20210927 16:50',2)
INSERT INTO dbo.t VALUES('20210927 17:10','20210927 17:10',2)
INSERT INTO dbo.t VALUES('20210927 17:20','20210927 17:30',2)

SELECT CONVERT(CHAR(13), time1, 120)  AS 小时,
       SUM(DATEDIFF(minute, time1, time2)) AS 分钟总和,
       COUNT(1)                           AS 使用次数
FROM   t
WHERE  t.time1 >= DATEADD(hour, -8, GETDATE())
GROUP BY
       CONVERT(CHAR(13), time1, 120)
/*
小时            分钟总和    使用次数
2021-09-27 16    50                  1
2021-09-27 17    10                  2
*/

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧