gpt4 book ai didi

用于查找第一个缺失序列字符串(前缀+无)的 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 06:39:05 25 4
gpt4 key购买 nike

用于查找第一个缺失序列字符串(前缀+无)的 T-SQL 查询

序列可以有一个前缀+一个连续的编号。

前序将是

ID
-------
AUTO_500
AUTO_501
AUTO_502
AUTO_504
AUTO_505
AUTO_506
AUTO_507
AUTO_508

所以上面缺少的序列是 AUTO_503 或者如果没有丢失的序列那么它必须返回下一个序列。

同样从no开始就是指定ex。 500 在这种情况下,前缀可以为空,即没有前缀只有数字作为序列。

最佳答案

您可以LEFT JOIN 移位 (+1) 值上的 ID 号以按顺序查找间隙:

SELECT 
MIN(a.offsetnum) AS first_missing_num
FROM
(
SELECT 500 AS offsetnum
UNION
SELECT CAST(REPLACE(id, 'AUTO_', '') AS INT) + 1
FROM tbl
) a
LEFT JOIN
(SELECT CAST(REPLACE(id, 'AUTO_', '') AS INT) AS idnum FROM tbl) b ON a.offsetnum = b.idnum
WHERE
a.offsetnum >= 500 AND b.idnum IS NULL

SQLFiddle Demo

关于用于查找第一个缺失序列字符串(前缀+无)的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598669/

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