gpt4 book ai didi

sql - 有没有办法查询表格中缺失的数字?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:05 25 4
gpt4 key购买 nike

我在一家物流公司工作,我们必须在预先确定的订单中的每件 cargo 上都有一个 7 位数的 Pro Number。所以我们知道数字之间存在差距,但有什么方法可以查询系统并找出缺少的数字吗?

所以请显示从 1000000 到 2000000 的所有数字,这些数字不存在于列名 trace_number 中。

正如您在下面看到的那样,序列依次为 1024397、1024398,然后是 1051152,所以我知道 26k 专业号码之间存在很大差距,但是否可以查询这些差距?

enter image description here

Select t.trace_number, 
integer(trace_number) as number,
ISNUMERIC(trace_number) as check

from trace as t
left join tlorder as tl on t.detail_number = tl.detail_line_id


where left(t.trace_number,1) in ('0','1','2','3','4','5','6','7','8','9')
and date(pick_up_by) >= current_date - 1 years
and length(t.trace_number) = 7
and t.trace_type = '2'
and site_id in ('SITE5','SITE9','SITE10')
and ISNUMERIC(trace_number) = 'True'


order by 2
fetch first 10000 rows only

最佳答案

我不确定您的查询与问题有什么关系,但您可以使用 lag()/lead() 找出差距。想法是:

select (trace_number + 1) as start_gap,
(next_tn - 1) as end_gap
from (select t.*,
lead(trace_number) order by (trace_number) as next_tn
from t
) t
where next_tn <> trace_number + 1;

这不会在范围内找到它们。它只是找到所有差距。

关于sql - 有没有办法查询表格中缺失的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46715836/

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