MySQL忽略连续重复

时间:2013-11-05 21:59:23

标签: mysql sql

如果我的表格如下:

|id|val|
|--|---|
|1 |a  |
|2 |b  |
|3 |b  |
|4 |c  |
|5 |b  |

是否有纯粹的MySQL方法来生成以下结果:

|id|val|
|--|---|
|1 |a  |
|2 |b  |
|4 |c  |
|5 |b  |

1 个答案:

答案 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;