sql - 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的,我没有找到解决办法。请帮忙
解决方案
窗口功能会有所帮助:
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;
推荐阅读
- r - 如何分别汇总每列的总和、平均值和计数数据?
- typescript - 有没有办法从接口属性中提取 Array 类型的泛型类型?
- sql - 使用 Proc SQL 过滤数据
- javascript - 使用网页,在 Firebase 上注册后,通过 Facebook
- system-verilog - 从 ASIC 验证应用程序角度将类成员作为参数传递给 randomize() 函数的用例
- sql - 重复的 SQL 表行本身就存在问题吗?
- c - 在 GCC 上设置打包的 long long 的正确对齐以与 avx2 指令一起使用
- javascript - Firebase 实时数据库安全规则 - 检查其他节点
- javascript - Ping 网站 onClick 没有访问页面
- excel - 根据子宏的结果停止运行代码