【发布时间】:2021-10-16 07:03:25
【问题描述】:
这个问题是关于 SQL(特别是使用 Presto)。
我遇到了代理与任务交互(评论、获取所有权、添加标签等)的情况,我试图将每一系列交互分组到一行中,并汇总开始和结束时间。
基本上,表格目前看起来像这样:
| Task Name | Agent Name | Event Type | Time |
|---|---|---|---|
| Computer Repair Help | Dave | Claim | 2:35PM |
| Computer Repair Help | Dave | Comment | 2:37PM |
| Computer Repair Help | Dave | Tag | 2:39PM |
| Computer Repair Help | Dave | Pass | 2:45PM |
| Computer Repair Help | Susie | Claim | 2:56PM |
| Computer Repair Help | Susie | Tag | 2:58PM |
| Computer Repair Help | Susie | Pass | 3:02PM |
| Computer Repair Help | Dave | Claim | 3:05PM |
| Computer Repair Help | Dave | Comment | 3:08PM |
| Computer Repair Help | Dave | Comment | 3:11PM |
| Computer Repair Help | Dave | Close | 3:16PM |
但我希望得到这样的东西:
| Task Name | Agent Name | Start Time | End Time |
|---|---|---|---|
| Computer Repair Help | Dave | 2:35PM | 2:45PM |
| Computer Repair Help | Susie | 2:56PM | 3:02PM |
| Computer Repair Help | Dave | 3:05PM | 3:16PM |
我尝试按任务名称和代理名称进行分区以获得每次交互的第一行和最后一行,但主要问题是,如果代理有两个交互窗口,它会给我所有交互的总范围而不是像示例中那样分开。不确定如何告诉查询在每次代理名称更改后将其视为新交互。
任何帮助都将不胜感激......几周以来我一直在为此苦苦挣扎,似乎必须有一些我没有看到的简单解决方案。谢谢!
【问题讨论】:
-
开始和结束的定义是什么?
-
他们在系列中的第一个事件的时间和他们在系列中的最后一个事件的时间
标签: sql presto gaps-and-islands trino