所以,我的資料庫中有記錄:
id | 日期時間 | 姓名 | 等級 |
---|---|---|---|
0 | 2022-03-22 23:18:01 | 約翰 | 615 |
1 | 2022-03-22 23:17:01 | 約翰 | 616 |
2 | 2022-03-22 23:16:02 | 約翰 | 616 |
3 | 2022-03-22 23:15:01 | 約翰 | 616 |
4 | 2022-03-22 23:14:01 | 約翰 | 617 |
5 | 2022-03-22 23:13:01 | 約翰 | 617 |
6 | 2022-03-22 23:12:01 | 約翰 | 616 |
7 | 2022-03-22 23:11:01 | 約翰 | 617 |
8 | 2022-03-22 23:10:02 | 約翰 | 618 |
9 | 2022-03-22 23:09:01 | 約翰 | 618 |
結果我想得到這些值,其中下一個「lvl」與上一個「lvl」不同。 我的意思是,我想獲取帶有 id 的結果記錄:
0 - 因為它是第一個,
1 - 因為lvl不等於0,
2,3 - 跳過,因為lvl與1相同
4 - 因為 lvl 與 1 不同,
5 - 跳過,因為 lvl 與 4 相同,
6 - 因為等級與 5 不同,
7 - 因為等級與 6 不同,
8 - 因為等級與 7 不同,
9 - 跳過。
這似乎非常適合
lag
分析函數(使用 MySQL 8 ):範例小提琴