例如,假設有以下表格:
+----+--------+
id | value
+----+--------+
1 | A
2 | A
3 | B
4 | A
5 | A
6 | C
+----+--------+
我們想要找到連續(xù)相同的數(shù)據(jù),可以使用以下查詢語句:
SELECT
id,
value,
CASE
WHEN value = LAG(value) OVER (ORDER BY id) THEN '連續(xù)'
ELSE '不連續(xù)'
END AS status
FROM ame;
查詢結果如下:
+----+--------+--------+
id | value | status
+----+--------+--------+
1 | A | 不連續(xù)
2 | A | 連續(xù)
3 | B | 不連續(xù)
4 | A | 不連續(xù)
5 | A | 連續(xù)
6 | C | 不連續(xù)
+----+--------+--------+
在上面的查詢語句中,使用了LAG()函數(shù)來獲取前一行的數(shù)據(jù),然后使用CASE語句來判斷當前行的值是否與前一行的值相同。如果相同,則為連續(xù),否則為不連續(xù)。
注意:LAG()和LEAD()函數(shù)只能在MySQL 8.0及以上版本中使用。