求助一道sql题目

编写一个 SQL 查询,查找所有数字最大连续次数,以及对应的最小id和最大id。

+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。

+-----------------------------------+
| Num | Continuation | Min | Max|
+-----------------------------+
| 1 | 3 | 1 | 3|
+-----------------------------+
| 2 | 2| 6 | 7|
+---------------------------------+

这一题我只想到这样解,求大佬教教我怎么做呜呜。
select Num,
max(Cnt) as Continuation
from (select Id,Num,
row_number() over() as Cnt
from Logs) as temp
group by Num
;

#笔试题目#
全部评论
SELECT f.num, f.cir Continuation, f.MIN, f.max FROM ( SELECT num,cir,MIN,MAX FROM  ( SELECT  num,  MIN(id) AS MIN, MAX(id) AS MAX, COUNT(ir) AS cir FROM  (SELECT num, rnk, id, (id - rnk) AS ir FROM ( SELECT id, num, row_number() over(partition BY num order by id) AS rnk FROM dev.dev_zsz_lianxi ) a ) b GROUP BY num, ir ) c ) f JOIN ( SELECT num, MAX(cir) Continuation FROM ( SELECT num, COUNT(ir) AS cir FROM ( SELECT num, rnk, id, (id - rnk) AS ir FROM ( SELECT id, num, row_number() over(partition BY num order by id) AS rnk FROM dev.dev_zsz_lianxi ) a ) b GROUP BY num, ir ) c GROUP BY num ) h ON f.num = h.num AND f.cir = h.Continuation 貌似很麻烦的样子。。。
点赞 回复 分享
发布于 2020-09-19 15:20

相关推荐

不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务