文章目录

  • 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)相关推荐

  1. LeetCode数据库 180. 连续出现的数字

    180. 连续出现的数字 SELECT DISTINCT L1.Num AS ConsecutiveNums FROM Logs AS l1, Logs AS l2, Logs AS l3 WHERE ...

  2. leecode 数据库:180. 连续出现的数字

    表:Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num ...

  3. 文巾解题 180. 连续出现的数字

    1 题目描述 2 解题思路 连续出现的意味着相同数字的 Id 是连着的.所以我们可以联立三个表格: 注意我们对最后的操作需要进行一个DISTINCT的操作,因为可能出现这样的数据: 答案只要一个3就可 ...

  4. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  5. mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  6. Mysql字符串截取 mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  7. mysql查询出的数据转换为数字,关于sql:在MySQL查询中将文本转换为数字

    是否可以在MySQL查询中将文本转换为数字? 我有一列带有标识符的列,该标识符由名称和数字组成,格式为"名称-数字". 该列具有VARCHAR类型. 我想根据数字(具有相同名称的行 ...

  8. 解决html连续字符或数字换行的问题

    解决html连续字符或数字换行的问题 参考文章: (1)解决html连续字符或数字换行的问题 (2)https://www.cnblogs.com/plBlog/p/11428177.html 备忘一 ...

  9. Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组

    **8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平.垂直.对角线方向都可以).编写一个测试程序,提示用户输入一个数组 题目 题目描述与运行实例 破 ...

最新文章

  1. 解密 Redis 助力双 11 背后电商秒杀系统
  2. 不同网段的两台主机互通问题
  3. win8 explorer 进程频繁奔溃的原因及处理
  4. 谷歌对用户搜索加密这一做法对seo的影响!
  5. CCNP-第十五篇-VXLAN(一)
  6. 学会java要多久_多长时间可以学会Java?
  7. 4. Linux 系统目录
  8. 用python批量下载网易云音乐_python实现网易云音乐批量下载
  9. 二元函数对xy同时求导_《高等数学》微课视频“二元函数的全微分求积”录音...
  10. java 求集合平均数_n个数的几何平均数小于等于它的算术平均数,详细证明过程...
  11. Python通过哈希算法实现文件完整性校验-以及大型文件完整性校验
  12. Dplayer Html5 弹幕视频播放器的实现
  13. Linux内核网络:实现与理论--介绍
  14. 用Python手把手教你做一只口红色号识别器,秒变李佳琦
  15. 几何结构因子(Geometrical structure factor)和原子形状因子(atomic form factor)
  16. 使用Python求解方程
  17. PIL中paste粘贴遇到的问题
  18. Lyx的安装流程(windows10系统)及配置中文环境
  19. matlab中SPI值,挣值管理(PV、EV、AC、SV、CV、SPI、CPI)记忆之我见
  20. [BZOJ4327] JSOI2012玄武密码

热门文章

  1. 【python毕业设计】Django框架实现学生信息管理系统
  2. 【Django】数据库主从配置
  3. 【机器学习】 关联规则Apriori和mlxtend——推荐算法
  4. android收入管理系统,毕业设计(论文)-基于Android系统的家庭理财通软件的设计——收入管理模块.docx...
  5. jmeter持续集成测试中mongodb版本问题
  6. Angular2学习笔记——在子组件中拿到路由参数
  7. 转:VC中MessageBox的常见用法
  8. jquery datatable设置垂直滚动后,表头(th)错位问题
  9. 基于消息队列的日志组件
  10. xcode 4.2开发 ——navigation controller 添加按钮