这是我的数据集:
IDX SESSION_ID
1 Null
2 Null
3 Foo
4 Foo
5 Foo
6 Null
7 Bar
8 Bar
如果我的行是一个新会话,我想添加一个等于1的标志列(我通过newsession定义了一个事实,即当我通过idx订购时,会话id会改变)
在这种情况下,输出将是:
IDX SESSION_ID N_Session
1 Null 1
2 Null 0
3 Foo 1
4 Foo 0
5 Foo 0
6 Null 1
7 Bar 1
8 Bar 0
如何使用impala sql实现这一点(我想ansi sql也可以)
2条答案
按热度按时间vohkndzv1#
oyxsuwqo2#
尝试此查询:
下面的表显示了联接的临时结果应该是什么样的:
应该很清楚,我们想标记
N_Session
以下两种情况中的一种为1:两个会话ID不一致
两个会话ID一致,但该行是第一行(
IDX
值1)我的问题冗长是因为必须处理
NULL
价值观。如果我没看错你的逻辑,两个NULL
比较时的值实际上应该被视为相同的值,使用某些运算符的impala sql可能不是这种情况。