【发布时间】:2015-10-30 12:23:01
【问题描述】:
我有一个考勤管理系统,其中记录了每次考勤的开始和结束时间。我可以通过将开始时间与结束时间分开来轻松计算停留时间。
数据示例如下:-
VisitUID | AttendeeID | Start_time | End_time
0 ----- 123 ----- 01/01/2015 09:15 ----- 01/01/2015 17:15
1 ----- 456 ----- 01/01/2015 10:45 ----- 01/01/2015 16:30
2 ----- 753 ----- 01/01/2015 08:05 ----- 01/01/2015 17:45
3 ----- 975 ----- 01/01/2015 07:15 ----- 01/01/2015 15:05
4 ----- 864 ----- 01/01/2015 15:55 ----- 01/01/2015 16:25
5 ----- 246 ----- 01/01/2015 16:00 ----- 01/01/2015 17:35
6 ----- 357 ----- 01/01/2015 11:10 ----- 01/01/2015 14:55
所以计数应该是这样的(如果我数错了请见谅!):-
07 - 1
08 - 2
09 - 3
10 - 4
11 - 5
12 - 5
13 - 5
14 - 5
15 - 5
16 - 5
17 - 3
我想找出一种方法来计算每小时有多少人在现场以了解现场人数?
系统是 SQL,开始和结束是日期时间值,所以在 SQL 甚至 Excel 中计算它的方法会很棒。
【问题讨论】:
-
您介意添加您目前尝试过的查询吗?
-
SUM() 一个 CASE 表达式,如果该人在所讨论的时间段内在场,则返回 1,否则返回 0。
-
预期结果的第一列是什么?如果那是一天中的一个小时,它与示例数据不匹配。如果你需要跨越几天,你还需要一个日期。
-
只有从 07 到 17 的小时数?
标签: sql-server excel date datetime