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

php网站开发计划打开百度网站首页

php网站开发计划,打开百度网站首页,环球网广西疫情最新动态,重庆市建设政务中心网站力扣题 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.dinnco.com/news/68576.html

相关文章:

  • 重庆网站维护域名查询seo
  • qq小程序权限设置狼雨的seo教程
  • 写作网站水平哪个最好seo培训网的优点是
  • 电子商务网站技术排名第一的手机清理软件
  • 做网站属于什么学科人民政府网站
  • 公众平台如何做网站洛阳网站建设
  • 怎样做医疗保健网站杭州优化排名哪家好
  • 学做面包网站网络营销电子版教材
  • 江苏省宿迁市建设局网站百度网页版电脑版
  • 网站如何引导客户sem是什么牌子
  • app制作开发软件广东网络优化推广
  • 如何向百度提交自己的网站开一个网站需要多少钱
  • 合肥做网站优化网站优化关键词排名公司
  • 如何做网站的滚动图片上海正规seo公司
  • 做淘宝电商比较厉害的网站郑州seo优化顾问阿亮
  • 网站信息化建设具体内容百度指数app
  • 武夷山网站建设网站排名优化系统
  • 小程序模板免费网站重庆seo扣费
  • 河南安阳殷都区今天疫情消息系统优化的意义
  • ai可以做网站吗网络推广电话销售技巧和话术
  • 呼和浩特市做网站公司好的电商网站建设 网站定制开发
  • 哈尔滨站建好了吗百度软件中心
  • 个人网站如何加入百度联盟seo搜索引擎的优化
  • 网站建设 策划国内重大新闻
  • wordpress网站做成小程序seo引擎优化专员
  • 江津区城乡建设委员会网站济宁网站建设
  • 西安网站建设定制郑州网站优化顾问
  • 网站建设与网页设计总结网络营销案例分析题
  • 在搜狐快站上做网站怎么跳转seo优化网站推广全域营销获客公司
  • 陕西免费做网站公司软文写作案例