问题描述
我正在使用MysqL / Maria数据库,并正在连接两个MyISAM表。我将返回如下数据集
ID Value1 Value2
1 xxx xxx
2 xxx xxx
3 xxx xxx
8 xxx xxx
9 xxx xxx
10 xxx xxx
11 xxx xxx
18 xxx xxx
19 xxx xxx
20 xxx xxx
我想知道是否有一种方法可以返回最长序列的计数。为了澄清1,2,3将是3的游程,8-11将是4的游程,18-20将是3的游程。
所以我要返回的只是“ 4”的值
我正在从python脚本运行查询,可以很容易地通过python找出问题,但是我希望有一种方法可以通过SQL查询来完成。我可能正在处理几百万条记录,所以我试图避免遍历所有这些记录。
解决方法
这是一个间隙和孤岛问题,您需要在其中留出最大孤岛的长度。
您可以使用窗口功能:
process_image