MySQL 获取不连续的值

1、问题

有一个表数据如下图显示。下图数据中,running_number应该是连续性的5位字符。现需要获取到连接断掉的running_number。如00001与00005间缺了00002,00003,00004。我们需要获取到这三个running_number。

技术分享

2、解决方案

2.1 获得缺号前的临界点值。

select running_number,time  from 
(select running_number,time from device_data  where device_id=13 
order by running_number asc) t
where not exists (select 1 from (select running_number from device_data  where device_id=13 ) b 
where b.running_number+0=t.running_number-1 )

技术分享

2.2 根据临界点来获取缺号

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。