我有一个查询,我试图找到某个位置和按时间段分组的到达人数。恩。 0001-0559,0600-1159,1200-1759和1800-2359。我的查询SQL就是这个......
SELECT tbl_2_trip_details_2012.arrival_id,
Hour([tbl_2_trip_details_2012] ! [arrive_ts]) AS [B-Hour],
Weekday([tbl_2_trip_details_2012] ! [arrive_ts]) AS [A-WeekDay#],
Month(tbl_2_trip_details_2012 ! arrive_ts) AS [Month],
Count(tbl_2_trip_details_2012.trip_id) AS CountOfTrip_ID
FROM tbl_2_trip_details_2012
WHERE (( ( tbl_2_trip_details_2012.arrival_id ) = 84252114 ))
GROUP BY tbl_2_trip_details_2012.arrival_id,
Hour([tbl_2_trip_details_2012] ! [arrive_ts]),
Weekday([tbl_2_trip_details_2012] ! [arrive_ts]),
Month(tbl_2_trip_details_2012 ! arrive_ts)
HAVING (( ( Month([tbl_2_trip_details_2012] ! [arrive_ts]) ) = 7 ))
ORDER BY Weekday([tbl_2_trip_details_2012] ! [arrive_ts]),
Hour(tbl_2_trip_details_2012 ! arrive_ts);
这种格式的查询会提取所有我需要的信息。到星期几,我无法总结时间范围。我一直在尝试使用“>或<”来计算CountOfTrip_ID的总和在Criteria字段中。我已经用尽了Stack上的文件和Access帮助功能。有什么想法吗?
答案 0 :(得分:3)
要将小时分为6小时范围,只需将小时数除以6,然后再将结果乘以6即可。所以它看起来像这样:
int(Hour([tbl_2_trip_details_2012] ! [arrive_ts]) / 6) * 6 AS [Hour-range]
然后您将获得0,6,12和&的值。您可以分组的18(每组的开头)。