一张table:
col1 col2 col3 col4
17 5678 abc mno
16 5678 abc mno
15 5678 abc mno
14 5678 abc mno
13 5678 abc mno
10 1234 def pqr
我想创建一个列 output
值为“a”或“b”
col1 col2 col3 col4 output
17 5678 abc mno b
16 5678 abc mno a
15 5678 abc mno b
14 5678 abc mno b
13 5678 abc mno a
10 1234 def pqr a
对于按列(或列组)划分的分区,即 col3, col4
订购方式 col1 and col2
,输出被标记为“a”的值该组的第一次出现(例如第5行),该行标记一个可以连续持续3次的事件,之后再次出现 output
如果col1按顺序排列,则列应标记为“a”(例如,第2行)。
2条答案
按热度按时间gzjq41n41#
与
ROW_NUMBER()
窗口功能:请看演示。
结果:
njthzxwz2#
这是一种缺口和孤岛问题。您需要枚举孤岛中的行,然后使用一些条件逻辑: