当前位置: 首页 > news >正文

网站开发包括哪些工作网站外链是什么

网站开发包括哪些工作,网站外链是什么,黄山旅游攻略二日游自由行攻略,快站建站力扣题 1、题目地址 2388. 将表中的空值更改为前一个值 2、模拟表 表:CoffeeShop Column NameTypeidintdrinkvarchar id 是该表的主键(具有唯一值的列)。该表中的每一行都显示了订单 id 和所点饮料的名称。一些饮料行为 null。 3、要求…

力扣题

1、题目地址

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

2、模拟表

表:CoffeeShop

Column NameType
idint
drinkvarchar
  • id 是该表的主键(具有唯一值的列)。
  • 该表中的每一行都显示了订单 id 和所点饮料的名称。一些饮料行为 null。

3、要求

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

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

查询结果格式示例如下。

示例 1:

输入:

CoffeeShop 表:

iddrink
9Rum and Coke
6null
7null
3St Germain Spritz
1Orange Margarita
2null

输出:

iddrink
9Rum and Coke
6Rum and Coke
7Rum and Coke
3St Germain Spritz
1Orange Margarita
2Orange Margarita

解释:

对于 ID 6,之前不为空的值来自 ID 9。我们将 null 替换为 “Rum and Coke”。
对于 ID 7,之前不为空的值来自 ID 9。我们将 null 替换为 “Rum and Coke”。
对于 ID 2,之前不为空的值来自 ID 1。我们将 null 替换为 “Orange Margarita”。
请注意,输出中的行与输入中的行相同。

4、代码编写

我的写法

思路:首先要求里面的输出顺序还是和原先一样,原先并没有按什么排序,所以我们得先对数据标上序号,这就可以用到窗口函数 row_numer,然后我们只需要在查询到 null 数据的时候,去查询比这个 null 数据的序号小的不为 null 的数据,然后根据序号倒序,取第一条即可,就能满足要求

里面需要注意的一点就是窗口函数 ROW_NUMBER() over()over 括号里面是不加分组和排序的

WITH tmp AS (SELECT *, ROW_NUMBER() over() AS rnFROM CoffeeShop
)
SELECT id, IFNULL(drink, (SELECT drink FROM tmp WHERE rn < one.rn AND drink IS NOT NULL ORDER BY rn DESC LIMIT 1)) AS drink
FROM tmp AS one

知识点

临时变量有两种用法:(temp 可以改成其他名)
1、使用 set,定义形式 set @temp=[var]

SET @temp=10;
SELECT @temp;

2、使用 select,定义形式 select @temp:=[var],下面两种都可以输出

SELECT @temp:=10;
SELECT @temp:=10;
SELECT @temp;

参考:mysql 临时变量

网友写法(临时变量用法)

SELECT id,@temp := IFNULL(drink, @temp) drink
FROM CoffeeShop

上面网友写法就是用的第二种用法,代码分析如下:

第 1 行:IFNULL 不为 null,将 Rum and Coke 赋值到 @temp 里面,并输出 SELECT @temp:= drink(drink='Rum and Coke')
第 2 行:IFNULLnull,将 @temp 赋值到 @temp 里面,并输出 SELECT @temp:=@temp(@temp='Rum and Coke'
第 3 行:IFNULLnull,将 @temp 赋值到 @temp 里面,并输出 SELECT @temp:=@temp(@temp='Rum and Coke'
第 4 行:IFNULL 不为 null,将 St Germain Spritz 赋值到 @temp 里面,并输出 SELECT @temp:= drink(drink='St Germain Spritz')
第 5 行:IFNULL 不为 null,将 Orange Margarita 赋值到 @temp 里面,并输出 SELECT @temp:= drink(drink='Orange Margarita')
第 6 行:IFNULLnull,将 @temp 赋值到 @temp 里面,并输出 SELECT @temp:=@temp(@temp='Orange Margarita'

iddrink
9Rum and Coke -> @temp
6null <- @temp
7null <- @temp
3St Germain Spritz -> @temp
1Orange Margarita -> @temp
2null <- @temp
http://www.mnyf.cn/news/32639.html

相关文章:

  • 重庆有哪些做优化的公司游戏优化大师官网
  • 网站 政府cms免费关键词排名优化
  • wordpress 文章前空格北京seo外包公司要靠谱的
  • 做的好看的pc端网站搜索引擎排名竞价
  • 网站用户体验分析怎么做网页广告怎么投放
  • 做网站什么硬盘好社群营销方案
  • 网站建设主机seo是什么公司
  • 怎么做社交网站搜索引擎排名优化seo
  • 住房和城乡建设网站网络优化大师手机版
  • 网站导航素材下载百度投诉中心人工电话号码
  • 做网站设计工资多少钱一键免费生成网页的网站
  • 手机网站的引导页关键词文案生成器
  • html 手机网站微信朋友圈广告投放价格表
  • 公司名称起名大全搜索关键词优化
  • 网站怎么做播放窗口打开百度一下你就知道
  • 招聘网站怎么做seo福州seo招聘
  • 青岛网站建设eoe网站是怎么优化推广的
  • 网站建设电话营销sem培训
  • 筑巢网站推广怎么样百度手机app下载并安装
  • 如何做好网站百度首页排名优化公司
  • 网站建设网络工作室想开广告公司怎么起步
  • 网站美食建设图片素材长沙seo全网营销
  • 宁波网站优化建站公司手机cpu性能增强软件
  • 网页版wordpress教程视频哈尔滨seo优化公司
  • 佳作哪个公司做网站比较好郑州seo推广外包
  • 现代建设公司网站哪里有seo排名优化
  • 网站模板文件怎么下载公众号推广引流
  • 洛阳建站公司效果网络销售公司怎么运作
  • 罗湖做网站的公司哪家好成都专业的整站优化
  • 东莞企业网站设计互联网推广有哪些方式