【发布时间】:2013-06-17 18:56:03
【问题描述】:
我正在尝试找出在 oracle 中将多行聚合在一起的最佳方法。我们有一个表,我们在其中记录关键用户事件,因为他们经历了一个流程。我们有如下表结构:
User Id Event Code Event Timestamp
1 START 17/06/2013 11:00
1 END 17/06/2013 11:05
2 START 16/06/2013 11:00
2 END 16/06/2013 11:05
我们希望从我们的数据库中获取一份报告,该报告将为用户捕获某些事件代码的时间戳,格式如下:
User ID Start Date/Time End Date/Time
1 17/06/2013 11:00 17/06/2013 11:05
2 16/06/2013 11:00 16/06/2013 11:05
我不知道如何在 SQL 中做到这一点,不要介意最好的方法,所以任何建议都将不胜感激。
【问题讨论】:
-
用户 1 是否有多个开始或结束日期?
-
我们将捕获的一次性事件。
-
可能不是“最佳方式”:sqlfiddle.com/#!4/80803/2
-
澄清一下,我们将在此查询中捕获一次性事件,但该表将包含许多其他非一次性事件。