假设我有一个主键pk
和一个可为空的列col
。我想找到col
is的连续行序列NULL
,按运行长度的降序排列。
我将接受一个仅返回运行长度的查询作为有效答案,但在未来(也许在一个单独的问题中)我会想知道一些pk
指向我每次运行的起点或终点的信息。
示例数据:
pk col
-- ---
1 'a'
2 NULL
3 'b'
4 NULL
5 NULL
6 NULL
7 'c'
8 NULL
9 NULL
10 'd'
预期查询结果:
runlengths
----------
3
2
1
如果可能的话,我更喜欢标准 SQL,但这是用于分析存储在 MySQL 中的生产数据集,所以在这种情况下最适合的方法。