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

找人做网站去哪里宁波 seo排名公司

找人做网站去哪里,宁波 seo排名公司,jsp做的网站,中国建设招标网是私人网站吗文章目录 查询最近一笔有效订单 一、题目 二、分析 三、SQL实战 四、样例数据参考 查询最近一笔有效订单 一、题目 现有订单表t5_order,包含订单ID,订单时间,下单用户,当前订单是否有效。 请查询出每笔订单的上一笔有效订…

文章目录

查询最近一笔有效订单

一、题目

二、分析

三、SQL实战

四、样例数据参考 


查询最近一笔有效订单

一、题目

现有订单表t5_order,包含订单ID,订单时间,下单用户,当前订单是否有效。

请查询出每笔订单的上一笔有效订单,注意不是每笔订单都是有效的。

样例数据:

目标结果:

二、分析

本题是查询上一条记录的升级版本,所以考察的lag()函数,但是我们也不知道上一单是有效还是无效,所以这个题目难度就增加了很多。

维度评分
题目难度⭐️⭐️⭐️⭐️⭐️
题目清晰度⭐️⭐️⭐️⭐️
业务常见度⭐️⭐️⭐️⭐️

三、SQL实战

1、先查询出有效订单,然后计算出每笔有效订单的上一单有效订单。

查询语句:

select ord_id,ord_time,user_name,is_valid,lag(ord_id) over (partition by user_name order by ord_time asc) as last_valid_ord_id
from (select ord_id,ord_time,user_name,is_validfrom t5_orderwhere is_valid = 1) t;

查询结果:

2、原始的明细数据与新的有效订单表按照用户进行关联,有效订单表的订单时间大于等于原始订单表。

查询语句:

with tmp as (-- 有效订单及其上一单有效记录select ord_id,ord_time,user_name,is_valid,lag(ord_id) over (partition by user_name order by ord_time asc) as last_valid_ord_idfrom (select ord_id,ord_time,user_name,is_validfrom t5_orderwhere is_valid = 1) t)
select t1.*,t2.*
from t5_order t1
left join tmp t2 on t1.user_name = t2.user_name
where t1.ord_time <= t2.ord_time;

查询结果:

3、使用row_number,原始订单记录表中的user_name、ord_id进行分组,按照有效订单表的时间排序,增加分组排序。

查询语句:

with tmp as (-- 有效订单及其上一单有效记录select ord_id,ord_time,user_name,is_valid,lag(ord_id) over (partition by user_name order by ord_time asc) as last_valid_ord_idfrom (select ord_id,ord_time,user_name,is_validfrom t5_orderwhere is_valid = 1) t)
select t1.*,t2.*,row_number() over (partition by t1.ord_id,t1.user_name order by t2.ord_time asc) as rn
from t5_order t1
left join tmp t2 on t1.user_name = t2.user_name
where t1.ord_time <= t2.ord_time;

我们可以看出,最终我们需要的就是rn=1 的记录。 

查询结果:

4、去除冗余字段,筛选rn=1 的记录。

查询语句:

with tmp as (-- 有效订单及其上一单有效记录select ord_id,ord_time,user_name,is_valid,lag(ord_id) over (partition by user_name order by ord_time asc) as last_valid_ord_idfrom (select ord_id,ord_time,user_name,is_validfrom t5_orderwhere is_valid = 1) t
)
select * from
(select t1.*,t2.*,row_number() over (partition by t1.ord_id,t1.user_name order by t2.ord_time asc) as rn
from t5_order t1
left join tmp t2 on t1.user_name = t2.user_name
where t1.ord_time <= t2.ord_time) tt
where tt.rn = 1;

查询结果:

四、样例数据参考 

--建表语句
create table t5_order
(ord_id bigint COMMENT '订单ID',ord_time string COMMENT '订单时间',user_name string COMMENT '用户名',is_valid int COMMENT '订单是否有效'
);
-- 数据插入
insert into t5_order(ord_id,ord_time,user_name,is_valid)
values(1,'2024-08-11 12:01:03','姬小满',1),(2,'2024-08-11 12:02:06','姬小满',0),(3,'2024-08-11 12:03:15','姬小满',0),(4,'2024-08-11 12:04:20','姬小满',1),(5,'2024-08-11 12:05:03','姬小满',1),(6,'2024-08-11 12:01:02','甄姬',1),(7,'2024-08-11 12:03:03','甄姬',0),(8,'2024-08-11 12:04:01','甄姬',1),(9,'2024-08-11 12:07:03','甄姬',1);

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
http://www.mmbaike.com/news/31691.html

相关文章:

  • 衡阳哪有做网站推广的9个成功的市场营销案例
  • 网站招聘方案怎么做株洲seo优化公司
  • 网站自创中国百强县市榜单
  • 商汇通网站全自动推广软件
  • 网站设计规划报告无人区在线观看高清1080
  • 为什么用MyEclipse做网站最近新闻热点事件
  • 移动版网站建设2022小说排行榜百度风云榜
  • 为什么实验楼网站上做实验这么卡公司网页制作教程
  • 有那个网站可以做报名链接的西安seo顾问
  • 学商务网站建设的感想目前病毒的最新情况
  • 如需手机网站建设怎么样自己创建网站
  • 怎么用网站视频做自媒体网站推广名词解释
  • 手机介绍网站杭州百度首页排名
  • 上海企业网站哪有网页设计公司
  • 临夏金属装饰网站建设百度指数购买
  • 重庆网站有哪些百度seo培训
  • 网站建设售后服务安全维护网络推广靠谱吗
  • 哪个网站可以做封面优秀营销软文范例800字
  • 在深圳找工作哪个网站好百度seo优化排名客服电话
  • 优化营商环境指什么seo关键词推广怎么做
  • 可以自己买个服务器做网站吗网络平台推广
  • 软件工程考研方向百度seo排名优化排行
  • 建设一个商城网站要多少钱百度地图推广怎么收费标准
  • 自己注册公司流程和费用多少肇庆seo按天计费
  • 驻马店市住房和城乡建设委员会网站搜索引擎哪个好用
  • 网站服务器物理地址怎么查百度seo排名点击器app
  • 中山哪里有做微网站的百度竞价平台官网
  • 设计网站费用vue seo 优化方案
  • 电商网站设计费用南安网站建设
  • 网站开发专业社会实践调研报告杭州seo软件