【发布时间】:2019-05-11 15:49:16
【问题描述】:
表格“日志”具有以下列:
SystemName
User
Datetime - it's a timestamp
Status - has the values Start or Stop.
我需要编写一个查询,它会给我: 每个用户每天在 X 系统上花费的小时数。
请看下面的示例数据:
X, Amit, 05/01/2019 08:45:00, Start
X, Amit, 05/03/2019 13:25:00, Stop
X, Dave, 05/01/2019 09:10:35, Start
X, Dave, 05/01/2019 17:35:42, Stop
输出:
Amit,05/01/2019, 15h
Amit,05/02/2019, 24h
Amit,05/03/2019, 9h
Dave,05/01/2019, 8h
到目前为止我的方法: 我在想我可以使用领先或滞后来获得同一行的连续时间。但是对于跨越多天的用户 Amit。也可能有一个用户在同一天多次启动和停止。即使我这样做了,我怎么能在该范围内为日期生成小时数。你能帮帮我吗?
【问题讨论】:
-
想法是枚举范围内的所有小时(这是特定于 DBMS),按日期分组。
标签: mysql sql amazon-redshift