LeetCode MySQL 180. 连续出现的数字(cast)
文章目录
- 1. 题目
- 2. 解题
1. 题目
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
例如,给定上面的 Logs 表,
1 是唯一连续出现至少三次的数字。+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/consecutive-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
SQL中的cast()函数
select num, row_number() over(partition by Num) rnk
from Logs
{"headers": ["num", "rnk"],
"values": [
[1, 1],
[1, 2],
[1, 3],
[1, 4],
[2, 1],
[2, 2],
[2, 3]]}
select num, Id-cast(row_number() over(partition by Num) as signed) rnk
from Logs
{"headers": ["num", "rnk"],
"values": [
[1, 0],
[1, 0],
[1, 0],
[1, 1],
[2, 3],
[2, 4],
[2, 4]]}
# Write your MySQL query statement below
select distinct num ConsecutiveNums
from
(select num, Id-cast(row_number() over(partition by Num) as signed) rnkfrom Logs
) t
group by num, rnk
having count(*) >= 3
或者
# Write your MySQL query statement below
select distinct a.num ConsecutiveNums
from Logs a, Logs b, Logs c
where a.Id = b.Id+1and b.Id = c.Id+1and a.Num = b.Numand b.Num = c.Num
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode MySQL 180. 连续出现的数字(cast)相关推荐
- LeetCode数据库 180. 连续出现的数字
180. 连续出现的数字 SELECT DISTINCT L1.Num AS ConsecutiveNums FROM Logs AS l1, Logs AS l2, Logs AS l3 WHERE ...
- leecode 数据库:180. 连续出现的数字
表:Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num ...
- 文巾解题 180. 连续出现的数字
1 题目描述 2 解题思路 连续出现的意味着相同数字的 Id 是连着的.所以我们可以联立三个表格: 注意我们对最后的操作需要进行一个DISTINCT的操作,因为可能出现这样的数据: 答案只要一个3就可 ...
- LeetCode MySQL解题目录
已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...
- mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- Mysql字符串截取 mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- mysql查询出的数据转换为数字,关于sql:在MySQL查询中将文本转换为数字
是否可以在MySQL查询中将文本转换为数字? 我有一列带有标识符的列,该标识符由名称和数字组成,格式为"名称-数字". 该列具有VARCHAR类型. 我想根据数字(具有相同名称的行 ...
- 解决html连续字符或数字换行的问题
解决html连续字符或数字换行的问题 参考文章: (1)解决html连续字符或数字换行的问题 (2)https://www.cnblogs.com/plBlog/p/11428177.html 备忘一 ...
- Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组
**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平.垂直.对角线方向都可以).编写一个测试程序,提示用户输入一个数组 题目 题目描述与运行实例 破 ...
最新文章
- 解密 Redis 助力双 11 背后电商秒杀系统
- 不同网段的两台主机互通问题
- win8 explorer 进程频繁奔溃的原因及处理
- 谷歌对用户搜索加密这一做法对seo的影响!
- CCNP-第十五篇-VXLAN(一)
- 学会java要多久_多长时间可以学会Java?
- 4. Linux 系统目录
- 用python批量下载网易云音乐_python实现网易云音乐批量下载
- 二元函数对xy同时求导_《高等数学》微课视频“二元函数的全微分求积”录音...
- java 求集合平均数_n个数的几何平均数小于等于它的算术平均数,详细证明过程...
- Python通过哈希算法实现文件完整性校验-以及大型文件完整性校验
- Dplayer Html5 弹幕视频播放器的实现
- Linux内核网络:实现与理论--介绍
- 用Python手把手教你做一只口红色号识别器,秒变李佳琦
- 几何结构因子(Geometrical structure factor)和原子形状因子(atomic form factor)
- 使用Python求解方程
- PIL中paste粘贴遇到的问题
- Lyx的安装流程(windows10系统)及配置中文环境
- matlab中SPI值,挣值管理(PV、EV、AC、SV、CV、SPI、CPI)记忆之我见
- [BZOJ4327] JSOI2012玄武密码
热门文章
- 【python毕业设计】Django框架实现学生信息管理系统
- 【Django】数据库主从配置
- 【机器学习】 关联规则Apriori和mlxtend——推荐算法
- android收入管理系统,毕业设计(论文)-基于Android系统的家庭理财通软件的设计——收入管理模块.docx...
- jmeter持续集成测试中mongodb版本问题
- Angular2学习笔记——在子组件中拿到路由参数
- 转:VC中MessageBox的常见用法
- jquery datatable设置垂直滚动后,表头(th)错位问题
- 基于消息队列的日志组件
- xcode 4.2开发 ——navigation controller 添加按钮