gpt4 book ai didi

Mysql查找密集系列间隙

转载 作者:行者123 更新时间:2023-11-29 21:52:54 25 4
gpt4 key购买 nike

我有一个带有唯一键的 Mysql 表的“序列”列,该列应该从 1 到 n 的值开始。

create table myTest( id INT, ...,  sequence INT ..)

此列应该代表一个密集的系列,因此我不希望其中出现间隙,我的问题是:如何找到可能的间隙?

我的第一个想法是使用循环将从 1max(sequence) 的所有值插入临时的 1 列表中。

create temporary table allvalues( value INT)

然后选择该临时表中值不在 myTest 表中的所有元素:

select value from allvalues where value is not in (select sequence from myTest)

还有其他更好/最快的解决方案吗?

最佳答案

这是另一个想法,这并不能找到每个间隙,而只能找到连续间隙时的结束间隙:

select m1.sequence-1 from myTest m1
where m1.sequence>1 and not exists
(select * from myTest m2 where m2.sequence=m1.sequence-1)

http://sqlfiddle.com/#!9/64f32/1

关于Mysql查找密集系列间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com