2

次のような表があるとします。

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

次の結果を生成するための純粋な MySQL メソッドはありますか。

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

1 に答える 1

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;
于 2013-11-05T22:02:26.083 に答える