我有下表:
topic_id conversation logical_date start_date end_date type
1 1 2020-01-01 09:00 2020-01-01 09:00 2020-01-01 09:50 phone call
1 2 2020-01-01 09:14 text
1 3 2020-01-01 10:27 text
2 1 2020-02-03 08:40 text
此表代表支持请求。每个支持请求都有一个主题,并且该主题具有1个或多个对话。
我想查找在电话开始日期和结束日期之间进行的所有文本请求。
因此,我要查看上表:
topic_id conversation_id start_date end_date sum
1 1 2020-01-01 09:00 2020-01-01 09:50 1
逻辑是:对于每个topic_id,请键入=“电话”,以start_date和end_date为准将它们与来自此topic_id的type ='text'对话进行比较将其逻辑日期介于起始日期和结束日期之间的那些求和]
我知道我需要使用窗口功能来执行此操作,但是我不确定如何操作。
这是我到目前为止所拥有的:
select topic_id, conversation_id, start_date, end_date, count(1 ) over partition by () from table where type = 'phone call'
我正在使用Presto
我有下表:topic_id对话logical_date开始日期date_date类型1 1 2020-01-01 09:00 2020-01-01 09:00 2020-01-01 09:50 ...
'text'
记录计算可为同一topic_id
找到多少'phone call'
条记录: