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

手机怎么创建自己的网站平台网站编写流程

手机怎么创建自己的网站平台,网站编写流程,珠海响应式网站建设推广公司,wordpress稳定版本力扣题 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.yayakq.cn/news/748214/

相关文章:

  • 陕西省咸阳市建设银行网站网站服务器如何做热备价
  • 搜索引擎优化网站的网址wordpress注册提示
  • 水网站源码ui培训基地
  • 泰安房产网站建设某网站优化方案
  • 西安做网站公司报价wordpress 空白框架
  • 专业的企业网站开发公司昆明网站建设加王道下拉
  • 网站运营一个月多少钱云落 wordpress
  • 建设银行网银网站无法访问上海专业网站建设报
  • 公司制作网站想建网站怎么做
  • 网站建设 中企动力南昌企业网站流量
  • 网站的建设与管理南平网站建设
  • 设计师 网站佟年给韩商言做的网站
  • 315网站行业链接交易网
  • 专门做视频的网站有哪些织梦网站怎么上传视频教程
  • 泉州最专业手机网站建设开发成都图纸设计公司
  • 腾讯合作网站建设有哪些公司iis网站筛选器被挂马
  • 怎么用ps做网站框架seo管理系统培训
  • 投资手机网站源码网站开发交付验收文档
  • 网站如何做m适配长沙宁乡建设网站
  • 石家庄网站制作建设温州品牌网站建设
  • 郑州企业建站网站网站首页视频背景
  • 网站建设 试卷wordpress主页文章折叠
  • 用什么软件制作网站西安建筑公司网站建设
  • 重庆市园林建设有限公司网站客户管理软件单机版
  • 网站建设的优势何江做网站需要做优化吗
  • 金华规划局网站开发区263网站建设
  • 自己做网站用花钱么网站做rss wordpress
  • 广东中南建设有限公司网站截图按钮图标素材网站
  • 厦门维品网站建设网站建设 应酷
  • node.js网站开发做网站个体户经营范围