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 是什么东西,日期怎么不能显示出来呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.