如何获得同一列中两行之间的差异

问题描述

这是到目前为止,我正在尝试使同一列中的行之间有所不同。我不知道。我正在尝试在Clickhouse中进行查询

SELECT 
    session_id,created,DATEDIFF(mi,time1.created,time2.created)
FROM impressions as time1
LEFT JOIN impressions i2 as time2
  ON time1.session_id = time2.session_id + 1

解决方法

查询应使用dateDiff-功能:

SELECT 
    time1.session_id,time2.session_id,time1.created,dateDiff('minute',time2.created,time1.created)
FROM impressions AS time1
LEFT JOIN impressions AS time2 ON time1.session_id = toInt32(time2.session_id + 1)
SETTINGS join_use_nulls = 1
,

我认为Clickhouse中的语法是:

SELECT time1.session_id,DATEDIFF('minute',time1.created)
FROM impressions time1 LEFT JOIN
     impressions i2 time2
     ON time1.session_id = time2.session_id + 1