首页 > 解决方案 > sqlite如何用前一个值替换null

问题描述

这个表:

field5 field19
Dr        1
Null      2
Null      3
Td        4
Td        5
Null      6

表格应如下所示:

 field5   field19
    Dr      1
    Dr      2
    Dr      3
    Td      4
    Td      5
    Td      6

找了很久,但是是针对sqlite的,我没有找到解决办法。请帮忙

标签: sqlsqlite

解决方案


窗口功能会有所帮助:

select *,  
      max(field5) over (order by field19)
from table t;

您还可以使用相关子查询:

select t.*,
       (select t1.field5 
        from table t1 
        where t1.field19 <= t.field19 and t1.field5 is not null
        order by t1.field19 desc 
        limit 1
       )
from table t;

推荐阅读