[数据库SQL] [leetcode] 2388. 将表中的空值更改为前一个值

2388. 将表中的空值更改为前一个值

  • 描述

表: CoffeeShop

±------------±--------+

| Column Name | Type |

±------------±--------+

| id | int |

| drink | varchar |

±------------±--------+

id 是该表的主键(具有唯一值的列)。

该表中的每一行都显示了订单 id 和所点饮料的名称。一些饮料行为 null。

编写一个解决方案将 drink 的 null 值替换为前面最近一行不为 null 的 drink。保证表第一行的 drink 不为 null。

返回 与输入顺序相同的 结果表。

  • 测试用例

输入:

CoffeeShop 表:

±---±------------------+

| id | drink |

±---±------------------+

| 9 | Rum and Coke |

| 6 | null |

| 7 | null |

| 3 | St Germain Spritz |

| 1 | Orange Margarita |

| 2 | null |

±---±------------------+

AI写代码

sql

输出:

±---±------------------+

| id | drink |

±---±------------------+

| 9 | Rum and Coke |

| 6 | Rum and Coke |

| 7 | Rum and Coke |

| 3 | St Germain Spritz |

| 1 | Orange Margarita |

| 2 | Orange Margarita |

±---±------------------+

AI写代码

sql

解释:

对于 ID 6,之前不为空的值来自 ID 9。我们将 null 替换为 "Rum and Coke"。

对于 ID 7,之前不为空的值来自 ID 9。我们将 null 替换为 "Rum and Coke"。

对于 ID 2,之前不为空的值来自 ID 1。我们将 null 替换为 "Orange Margarita"。

请注意,输出中的行与输入中的行相同。


Solution

相关推荐
倔强的石头_16 分钟前
事务边界与批量写入:避免长事务、锁等待和日志压力
数据库
努力努力再努力wz22 分钟前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
a1879272183139 分钟前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
坐吃山猪1 小时前
【多线程】Lock与Condition
大数据·数据库
辰烨chenye1 小时前
LeetCode Hot 100 题解 · 子串篇
算法·leetcode·职场和发展
辰烨chenye1 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
Lightpwd2 小时前
Spring Boot 多数据源落地:AbstractRoutingDataSource + 注解切面(附源码)
数据库·后端
LabVIEW开发2 小时前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序
寺中人2 小时前
MySQL 8.0 Windows 完整安装教程:环境配置、密码重置与常见报错排查
数据库·windows·mysql·环境搭建·mysql 安装
这个DBA有点耶2 小时前
同样48核配置TPS差1倍?高性价比数据库一体机的“软硬协同”才是分水岭
服务器·数据库·架构