SQL - 从具有数字间隙的记录集中获取行中的下一个数字

发布于 2024-11-03 05:01:03 字数 446 浏览 2 评论 0原文

我有一个 SQL 记录,其中的数字全部乱序(有间隙),例如:1,2,3,7,9,11..... 我只想得到第一个缺失的号码。

我尝试过类似的方法,但我只是不知道 SQL 能否使其正常工作。

strQuery = "SELECT N as NextNum FROM LOADS WHERE N > 0 AND N <= (SELECT MAX(LOAD_NO) FROM @LOADS) AND N NOT IN (SELECT LOAD_NO FROM @LOADS)"
objNextNum.Open strQuery
lastLoadNo= objNextNum("NextNum")
response.write "NEXT LOAD NUMBER IS: " & lastLoadNo

我在微软网站上找到了这个例子,但我无法让它工作。

感谢您的帮助!

I have a SQL Record that has number that are all out of order (has gaps) for example: 1,2,3,7,9,11.....
I would like to get only the first missing number.

I tried something like this but I just don't know SQL to make it work correctly.

strQuery = "SELECT N as NextNum FROM LOADS WHERE N > 0 AND N <= (SELECT MAX(LOAD_NO) FROM @LOADS) AND N NOT IN (SELECT LOAD_NO FROM @LOADS)"
objNextNum.Open strQuery
lastLoadNo= objNextNum("NextNum")
response.write "NEXT LOAD NUMBER IS: " & lastLoadNo

I found that example on a ms website but I cannot get it to work.

Thanks for any help!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

素染倾城色 2024-11-10 05:01:03

在某处看到这个,但不记得在哪里,或者我会给出正确的归属,但你应该能够使用这个:

SELECT  TOP 1
        LOAD_NO + 1
FROM    LOADS mo
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    LOADS mi 
        WHERE   mi.LOAD_NO = mo.LOAD_NO + 1
        )
ORDER BY
        id

saw this somewhere, can't remember where though, or i'd give proper attribution, but you should be able to use this:

SELECT  TOP 1
        LOAD_NO + 1
FROM    LOADS mo
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    LOADS mi 
        WHERE   mi.LOAD_NO = mo.LOAD_NO + 1
        )
ORDER BY
        id
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文