首页 > 其他 > 详细

连续出现的数字

时间:2019-05-06 14:29:56      阅读:126      评论:0      收藏:0      [点我收藏+]

编写一个 SQL 查询,查找所有至少连续出现三次的数字。

+----+-----+
| Id | Num |
+----+-----+
| 1  |  1  |
| 2  |  1  |
| 3  |  1  |
| 4  |  2  |
| 5  |  1  |
| 6  |  2  |
| 7  |  2  |
+----+-----+

例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。

+-----------------+
| ConsecutiveNums |
+-----------------+
| 1               |
+-----------------+
select Num as ConsecutiveNums  from Logs where Id in (
    select distinct l1.Id from Logs l1,Logs l2,Logs l3
    where (l1.Num = l2.Num and l2.Num = l3.Num and ( 
         (l1.Id + 1= l2.Id  and l2.Id +1 = l3.Id)or
         (l3.Id + 1= l2.Id  and l2.Id +1 = l1.Id)or
         (l3.Id + 1= l1.Id  and l1.Id +1 = l2.Id)
      )
    ) 
order by l1.Id)  group by Num

 

连续出现的数字

原文:https://www.cnblogs.com/baby123/p/10819357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!