【发布时间】:2019-10-23 17:14:40
【问题描述】:
我想查询一个有帐号的表,但是我需要从任意数字开始的 60000 的连续范围,只要它是连续的就没有关系。
我什么都想不出来,我只有一个基本的查询之间,但这甚至不好,因为我不想或不需要指定开始,只需要顺序范围。
Select *
From tableA
where account number between acctNum1 and acctNum2;
60000 个帐号的连续范围。
因此,如果有从 1 到 100 万的帐号,并且帐号中有随机间隙,我想看看我是否可以获得 60000 的数量但顺序。
【问题讨论】:
-
你是说如果表中没有记录,你还是要返回一个帐号?我假设此表中还有其他列,在这种情况下它们应该是什么样的?
-
您需要提供样本数据和想要的结果。为什么帐号不是连续的? (大概这就是您所说的“连续”的意思,因为帐号本质上是离散的。)
-
帐号表,包含状态、所有者、日期等各种信息,当然也有帐号。现在,第一个帐号是 1,然后是 2,然后是 3,当它们生成时,它们是连续的,所以想象一下生成了一个表,其中帐号为 1 到 1,000,000。人们可以从这张表中分配,因此在 1 到 100 万之间可能会有任何缺失。所以 1201 可用,1202 可用,但 1203 不可用,因此 1201 和 1204 之间没有连续范围。只要有 60,000 的连续计数,我需要获取任何起始帐户编号和任何结束。
-
您的问题被称为“差距和孤岛”,请阅读以下内容:red-gate.com/simple-talk/sql/t-sql-programming/… 并编辑您的问题,添加有关您的问题的更多详细信息,添加示例数据以显示您认为的问题以及您希望如何解决已解决。
-
我无法提供数据,因为这是敏感数据,但我不确定如何使其更清晰。帐户表有很多列,除了帐号之外,这些列都无关紧要。这又是我理想的查询,但用的是文字。 “从帐号顺序和计数为60000的帐户表中选择”我将阅读您发布的文章。谢谢。
标签: sql