作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在一家物流公司工作,我们必须在预先确定的订单中的每件 cargo 上都有一个 7 位数的 Pro Number。所以我们知道数字之间存在差距,但有什么方法可以查询系统并找出缺少的数字吗?
所以请显示从 1000000 到 2000000 的所有数字,这些数字不存在于列名 trace_number 中。
正如您在下面看到的那样,序列依次为 1024397、1024398,然后是 1051152,所以我知道 26k 专业号码之间存在很大差距,但是否可以查询这些差距?
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/
我是一名优秀的程序员,十分优秀!