29. 求出商品连续售卖的时间区间

news2024/11/25 20:22:21

文章目录

        • 题目需求
        • 思路一
        • 实现一
        • 题目来源

题目需求

从订单详情表(order_detail)中,求出商品连续售卖的时间区间。

期望结果如下:

sku_id (商品id)start_date (起始时间)end_date (结束时间)
12021-09-272021-09-27
12021-09-302021-10-01
12021-10-032021-10-08

需要用到的表:

订单明细表:order_detail

order_detail_id(订单明细id)order_id(订单id)sku_id(商品id)create_date(下单日期)price(商品单价)sku_num(商品件数)
1112021-09-302000.002
2132021-09-305000.005
221042020-10-026000.001

思路一

在这里插入图片描述

实现一

-- 4) 按 sku_id sub_res 分组排序,将每个 sku_id 的连续的 create_date 存到同一个 array_all
select sku_id,
       -- array_all = collect_list(create_date)
       collect_list(create_date)[0] as start_date,
       collect_list(create_date)[size(collect_list(create_date))-1] as end_date
from (
         -- 3) 计算 create_date - row_num 得到 sub_res
         -- 2) 计算 row_number(), 按 sku_id 分组、create_date 升序排序
         select sku_id,
                create_date,
                date_add(create_date, -row_number() over (partition by sku_id order by create_date)) as sub_res
         from (
                  -- 1) 按 sku_id create_date 去重
                  select sku_id,
                         create_date
                  from order_detail
                  group by sku_id, create_date
              ) t1
     ) t2
group by sku_id, sub_res;

题目来源

http://practice.atguigu.cn/#/question/29/desc?qType=SQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸢尾花书简介

鸢尾花书简介 鸢尾花书 系列介绍1《编程不难》2《可视之美》3《数学要素》4《矩阵力量》5《统计至简》6《数据有道》7《机器学习》 重要链接 特别棒,极力推荐!!! 鸢尾花书 系列介绍 1《编程不难》 《编程不难》:https:…

win11预览版更新,并尝试使用Copilot

文章目录 win11预览版更新,并使用Copilot先说结果所需内容具体操作更新操作系统版本更新Edge安装ViVeTool v0.3.3 测试Copilot问题唯一优点 总结 win11预览版更新,并使用Copilot 先说结果 体验一言难尽,就相当于是一个快捷聊天提问窗口。 自…

C语言实现WiFi数据收发(电脑作为服务器)

功能实现: 手机与电脑在一个局域网,实现手机与电脑之间数据收发。 主要是用socket协议完成功能。 电脑作为服务器,手机作为客户端 编程环境: 电脑端变成环境:VC6.0 手机端WiFi助手: 核心代码: …

K8S平台应用安全(Secret Service Ingress)

平台应用安全 1 平台应用安全1.1 敏感数据1.1.1 应用数据1.1.2 Secret基础1.1.3 Secret案例11.1.4 Secret案例2 1.2 数据访问1.2.1 网络体系解读1.2.2 Service实践1.2.3 Service进阶1.2.4 Service解读 1.3 应用流量1.3.1 Ingress基础1.3.2 Ingress实践1.3.3 Ingress进阶1.3.4 I…

用Python实现黑客代码

前言 用Python实现黑客代码,根本关不掉的窗口 📝个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先先介绍一下使用到的tkinter库 Tkinter 是 P…

通付盾联合嘶吼安全产业研究院共同发布《数据安全细分市场调研报告》并成功入选数据安全产业图谱多项细分领域,附报告!

7月4日,通付盾联合嘶吼安全产业研究院共同发布《时维鹰扬履践致远:数据安全细分市场调研报告2023》。 百炼露锋芒,本次《时维鹰扬履践致远:数据安全细分市场调研报告2023》聚焦数据安全市场细分领域市场规模、厂商玩法和产品竞争情…

二十三种设计模式第十四篇--策略模式

策略模式:主要围绕一个类的行为或者其算法在运行时更改,也是一种行为型模式。 在软件开发中,我们经常遇到需要根据不同的情况选择不同算法或行为的情况。传统的做法是使用大量的条件语句来实现这种逻辑,但这样的实现方式往往难以…

Numpy学习(参考)

目录 一、前言 二、numpy官方文档 文档划分 参数规范 相关知识明知 Routines学习(部分) 1、创建 2、数组操作常用 ufunc 三、numpy基本操作 开篇探索 数据类型 创建数组 创建数组有5种常规机制 常用创建方法 拷贝创建 数组运算 形状操作 查看形状 形状变换 …

第124天:内网安全-代理技术Socks协议路由不出网后渗透通讯CS-MSF上线

知识点 #知识点: 1、代理软件使用-Win&Linux 2、代理协议使用-Socks4/5 3、CS&MSF-网络通讯&控制上线-隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网) -代理技术:解决网络通讯不通的问题&…

MySQL数据库------------数据库的安装-----开始步入梦想

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com —————————————————————————————————— 这一篇文章主要讲解一下MySQL的下载 数据库MySQL 这是 CentOS7 的 mysql 安装,如果有其他版本的需求&#xff…

C++ 环境设置

本地环境设置 如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名…

tqdm笔记

目录 tqdm笔记导入显示进度条与enumerate一起使用 tqdm报错tqdm在notebook里每次刷新增加一行 tqdm笔记 导入 from tqdm import tqdm显示进度条 for i in tqdm(range(100)):time.sleep(0.01)与enumerate一起使用 a list(range(100)) for i, j in enumerate(tqdm(a)):time.…

Windows系统封装教程

一、封装前准备工作 虚拟机软件:VMware Workstation Pro windows镜像:windows 10.iso PE镜像:微PE.iso (微PE工具箱) 工具包:软媒魔方 封装工具:sysceo(SC封装工具3.0&#xff…

java模拟面试题1

1、哪些问题是HTTPS无法解决的? Http是基于TCP协议的,在网络层的传输耗时比较长,https没有解决这个问题;http头是不能压缩的,每次要传递很大的数据包,每个连接也只能支持一个请求。同时https应用了很多加密…

IP地址定位在移动通信中的应用

根据IP地址定位技术在移动通信中的应用越发广泛。这项技术通过将用户的IP地址与地理位置信息相结合,为移动通信提供了更准确的定位服务。在这一创新中,移动通信运营商使用了IP地址定位技术以便更好地为用户提供定位服务、推送个性化广告以及提高安全性。…

数学建模常用模型(四):灰色关联分析法

数学建模常用模型(四):灰色关联分析法 灰色关联分析法(Grey Relational Analysis,GRA)是一种用于多指标决策评价的方法,由灰色系统理论发展而来。它用于分析和评价多个指标之间的相关性和影响程…

【Python】矩阵乘法3种实现方案

结论: 1、 符在numpy里就是矩阵乘法的意思,也是dot()的意思。 2、用这个 运算符可以不用再使用matmult方法 3、一般来说, 比.dot()方法要慢一点点。dot是numpy里的函数,主要用于求向量相乘,矩阵乘法,矩…

vue通过mixins混入实现所有大屏适配,摆脱因适配引起的头痛(模版就是设计稿->全程就是px)

vue通过mixins混入实现所有大屏适配 市场上屏幕种类繁多,自己开发MAC的版本显示器1440900与另一个显示屏的全屏状态下是19201080,如何让自己的web项目,在不同的宽高比下依旧体现出高优越的观感体验。。。。 rem响应式单位:好用但是设计稿不…

ChatLaw:中文法律大模型

论文题目:ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases   论文日期:2023/06/28   官网地址:https://www.chatlaw.cloud   论文地址:https://arxiv.org/abs/2306.16092   G…

【Ubuntu】Ubuntu制作Ubuntu Server系统盘

要制作 Ubuntu Server 系统盘,你可以按照以下步骤在 Ubuntu 系统上进行操作: 下载 Ubuntu Server ISO 镜像文件: 访问 Ubuntu 官方网站的下载页面:Get Ubuntu Server | Download | UbuntuGet Ubuntu Server one of three ways; by…