LeeCode1709. 访问日期之间最大的空档期
SQL架构
表: UserVisits
+-------------+------+
| Column Name | Type |
+-------------+------+
| user_id | int |
| visit_date | date |
+-------------+------+
该表没有主键。
该表包含用户访问某特定零售商的日期日志。
假设今天的日期是 '2021-1-1'
。
编写 SQL 语句,对于每个 user_id
,求出每次访问及其下一个访问(若该次访问是最后一次,则为今天)之间最大的空档期天数 window
。
返回结果表,按用户编号 user_id
排序。
查询格式如下示例所示:
UserVisits 表:
+---------+------------+
| user_id | visit_date |
+---------+------------+
| 1 | 2020-11-28 |
| 1 | 2020-10-20 |
| 1 | 2020-12-3 |
| 2 | 2020-10-5 |
| 2 | 2020-12-9 |
| 3 | 2020-11-11 |
+---------+------------+
结果表:
+---------+---------------+
| user_id | biggest_window|
+---------+---------------+
| 1 | 39 |
| 2 | 65 |
| 3 | 51 |
+---------+---------------+
对于第一个用户,问题中的空档期在以下日期之间:- 2020-10-20 至 2020-11-28 ,共计 39 天。- 2020-11-28 至 2020-12-3 ,共计 5 天。- 2020-12-3 至 2021-1-1 ,共计 29 天。
由此得出,最大的空档期为 39 天。
对于第二个用户,问题中的空档期在以下日期之间:- 2020-10-5 至 2020-12-9 ,共计 65 天。- 2020-12-9 至 2021-1-1 ,共计 23 天。
由此得出,最大的空档期为 65 天。
对于第三个用户,问题中的唯一空档期在 2020-11-11 至 2021-1-1 之间,共计 51 天。
题解
select user_id, max(windows) as biggest_window
from (select user_id, datediff(lead(visit_date, 1, "2021-01-01") over (partition by user_id order by visit_date asc), visit_date) as windows from UserVisits) as temp
group by user_id;
LeeCode1709. 访问日期之间最大的空档期相关推荐
- lead 函数 ——《访问日期之间最大的空档期》LeetCode Plus 会员专享题【详细解析】Hive / MySQL
大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 另外也欢迎大家 ...
- <数据库> LEAD函数的用法 Leetcode 1709. 访问日期之间最大的空档期
对于一张表的一行数据而言,在其之上的是Lag, 在其之下的是Lead +---------+------------+ LAG() ------------------------ ...
- 1683. 无效的推文 1693. 每天的领导和合伙人 1699. 两人之间的通话次数 1709. 访问日期之间最大的空档期
char_length(str)[空格不是字符] (1)计算单位:字符 (2)不管汉字还是数字或者是字母都算是一个字符 length(str)[空格不是字符] (1)计算单位:字节 (2)utf8编码 ...
- leetcode 1709. 访问日期之间最大的空档期---窗口函数lead
访问日期之间最大的空档期 题目分析:题目要求按照不同的id计算出空档期,当前最新的时间是2021-01-01.简单来说,就是按照日期进行排序后计算前后日期之间差距.我们可以使用lead函数把后面的日期 ...
- 【LeetCode-SQL】1709. 访问日期之间最大的空档期
目录 一.题目 二.解决 1.lead() 2.UNION ALL+INNER JOIN+min()+max() 三.参考 一.题目 表: UserVisits +-------------+---- ...
- 1709. 访问日期之间最大的空档期
SQL架构 表: UserVisits +-------------+------+ | Column Name | Type | +-------------+------+ | user_id | ...
- 1709. 访问日期之间最大的空档期(SQL)
题目:https://leetcode-cn.com/problems/biggest-window-between-visits/ 表: UserVisits +-------------+---- ...
- leetcode中等之1709.访问日期之间最大的空档期
表: UserVisits Column Name Type user_id int visit_date date 该表没有主键. 该表包含用户访问某特定零售商的日期日志. 问题 假设今天的日期是 ...
- 【LC中等】1709. 访问日期之间最大的空档期
❤️博客主页: 楚生辉 ❤️系列专栏:[LeetCode刷题] ❤️一句短话: 坚持不懈,孜孜不倦 1.题目描述 表: UserVisits +-------------+------+ | Colu ...
最新文章
- 记录一些精品开源项目
- RobHess的SIFT代码解析之RANSAC
- C语言试题四之计算并输出3到n之间所有素数的平方根之和
- mysql sql 一部分记录_MySQL性能优化实践(很全面,值得收藏)
- deeplung代码实现主题讲解
- python ** 运算符_Python语法基础(2)运算符
- 基于Redis的用户发微博
- PHP批量去除PHP文件中bom的代码
- noip 2010 引水入城(dfs + 贪心)
- CTP:rust封装找不到thostmduserapi_se、thosttraderapi_se问题
- 振铃效应与样点自适应补偿(Sample Adaptive Offset,SAO)技术
- NOIP2018 摸鱼记
- VS985破解电信4G或联通4G
- Windows电脑桌面云便签快捷键怎么查看?
- vue图片裁剪功能的实现
- 深度学习概念名词解释总结
- 计算机网络术语总结1
- php sapi模式,PHP中的SAPI是什么?如何实现?(图文)
- 苹果宣布推出新的Mac Mini和MacBook Pro与M2 Pro和M2 Max
- 百度搜索の黑话大全—那些不为人知的搜索引擎语法
热门文章
- 海思芯片查看系统内存和mmz内存的命令
- iWatch 开发 2:创建一个简单的Apple watch应用
- poj2236 Wireless Network
- 数据中心综合布线可视化运维管理平台
- 基于Web的电子商城销售系统
- PHP codesniffer 配置,如何配置PHP CodeSniffer让我的case语句按照我喜欢的方式缩进?...
- 在shell脚本中使用sudo
- 手机微信里面接收好友的文档怎么打印
- 如何使用Colormaps和自定义自己喜欢的colorbar?
- PostgreSQL 14中TOAST的新压缩算法LZ4,它有多快?