mytable 表如下
https://i.loli.net/2019/11/21/YwCVDFAJQXe4HOs.png
select t.*,
if(@s <> (@s := t.period_state), @d := t.date, @d) as start
from mytable
) as t, (select @s:='', @d) init
输出
https://i.loli.net/2019/11/21/TuxyoAaPYUjRcQJ.png
但我把 IF 语句改成 if(@s = (@s := t.period_state), @d, @d := t.date) 输出结果怎么不一样了呢?下面这个 BLOB 是什么东西,日期怎么不能显示出来呢?