如果我的表格如下:
|id|val|
|--|---|
|1 |a |
|2 |b |
|3 |b |
|4 |c |
|5 |b |
是否有纯粹的MySQL方法来生成以下结果:
|id|val|
|--|---|
|1 |a |
|2 |b |
|4 |c |
|5 |b |
答案 0 :(得分:2)
通常这是使用滞后窗口函数完成的,但MySQL不支持此功能。但是有一个使用变量的解决方法:
SET @val=null;
select id, curr_val as val from (
select id, @val prev_val, @val:=val curr_val
from tbl
) where curr_val != prev_val;