我有一个非常简单的表,类似于:
id | val
----------
1 | 20
2 | 22
3 | 29
4 | 21
5 | 14
6 | 9
7 | 15
我希望能够识别连续行中的模式。例如,如果输入是“29, 21, 14”,则有匹配的连续三行,我想返回:
id | val
----------
3 | 29
4 | 21
5 | 14
如果行不连续,则不匹配。
我的尝试,不起作用:
SELECT id as firstid, val from tbl100 WHERE `val` = '29' AND firstid+1 = '21' AND firstid+2 = '14'
问题显然是我的查询找到 val 29,然后查找 id 21 和 id 14,它应该查找 val 21 和 val 14,但我不知道该怎么做。
任何帮助表示赞赏!