【发布时间】:2018-09-13 02:40:22
【问题描述】:
以下是用户列表示例,以及他们开始公交旅程的车站/时间和结束的车站/时间:
user Ststation Starttime endstation endtime
bgh567 StationA 5:00:00 StationB 7:00:00
abc645 StationD 4:00:00 StationX 4:15:00
yh564 StationG 2:00:00 StationA 17:00:00
Yghf78 StationB 6:00:00 StationC 2:45:00
...这个列表要长得多,而且是全天的。
我的目标是计算每个站点每隔 15 分钟开始和结束每个站点的旅程的用户数量。所以结果看起来像这样(我所做的计数是样本,并不代表本文中的样本表):
Time Station Enter Exit
2:00:00 StationA 1 0
2:15:00 StationA 58 23
2:45:00 StationA 36 78
3:00:00 StationA 0 76
... 以此类推。然后当 StationA 完成后,会计算 StationB,以此类推。
我已经能够通过这样的查询获得每个相应的计数:
SELECT starttime, ststation, COUNT(user) as count_enter
FROM sourcetable
GROUP BY starttime, ststation
ORDER BY ststation, starttime
还有一个类似的退出计数。但是我遇到了将它们连接在一起以创建上述最终结果的问题。我在 Spark SQL 中执行此操作,但如果我了解该方法,我可以针对我的环境定制任何响应。有什么想法吗?
【问题讨论】:
-
请edit您的问题标题实际上描述了您遇到的问题或您提出的问题。标题应该足够清晰,以供正在扫描搜索结果列表以解决问题的未来用户使用。你的没有提供这方面的任何有用信息。谢谢。
-
请添加您的 RDBMS 标签!
-
众所周知,日期/时间函数依赖于数据库。没有数据库标签,回答这个问题是不可行的。