暂无图片
暂无图片
暂无图片
暂无图片
4
暂无图片
SQL挑战赛第二期
墨天轮
0次下载
109次浏览
2024-08-20
3.5

脚本内容

原始数据如下:

drop table test_gen purge; create table test_gen as ( select 1 as seqno,1 as amount from dual union all select 2 as seqno,null as amount from dual union all select 3 as seqno,null as amount from dual union all select 4 as seqno,null as amount from dual union all select 5 as seqno,2 as amount from dual union all select 6 as seqno,null as amount from dual union all select 7 as seqno,null as amount from dual union all select 8 as seqno,3 as amount from dual union all select 9 as seqno,null as amount from dual union all select 10 as seqno,null as amount from dual union all select 11 as seqno,5 as amount from dual );
复制

要求:希望通过SQL查出一个虚拟列AMOUNT_ALL,该列以SEQNO的顺序根据AMOUNT字段的值填充,如果AMOUNT有值则虚拟列等于该条记录中AMOUNT的值,如果AMOUNT的值为NULL,则该虚拟列为上一条AMOUNT不为NULL的值,输出示例如下:

各位将SQL贴到评论区,并说明数据库(数据库不限,欢迎大家使用国产数据库测试),最后通过SQL质量、实现逻辑、优雅度以及评论的先后顺序评出本次大赛的一等奖及合格参赛奖若干。

评论

jjan
暂无图片
7月前
评论
暂无图片 0
7月前
暂无图片 点赞
评论
jjan
暂无图片
7月前
评论
暂无图片 0
SELECT T.SEQNO,T.AMOUNT,IFNULL(IFNULL(IFNULL(T.AMOUNT,LAG(T.AMOUNT, 1) over (order by T.SEQNO)),LAG(T.AMOUNT, 2) over (order by T.SEQNO)),LAG(T.AMOUNT, 3) over (order by T.SEQNO)) AMOUNT_ALL FROM test_gen T order BY T.SEQNO;
7月前
暂无图片 点赞
评论
Simple
暂无图片
7月前
评论
暂无图片 0
7月前
暂无图片 点赞
评论
itfarmer
暂无图片
7月前
评论
暂无图片 0
7月前
暂无图片 点赞
评论
贡献排行榜
发布数108 · 被下载次数18581
发布数285 · 被下载次数6275
发布数1 · 被下载次数3944
发布数27 · 被下载次数1910
P
发布数1 · 被下载次数1630
发布数2 · 被下载次数988
发布数99 · 被下载次数904
发布数9 · 被下载次数873
C
发布数45 · 被下载次数690
发布数18 · 被下载次数612
近期活动
ACDU读书会-大咖荐书第一期
04/08 19:30 0人报名
【开始报名啦】4月12日 TiDB社区活动在南京!传统技术栈替换和 AI 浪潮正当时,面向未来的国产数据库怎么选择?
04/12 14:00 0人报名
Apache Cloudberry™ (Incubating) Meetup · 杭州
04/19 14:00 0人报名