首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎么找失踪的号码?

怎么找失踪的号码?
EN

Database Administration用户
提问于 2016-08-08 06:42:10
回答 4查看 11.6K关注 0票数 3

我有一张桌子上有一张号码表。我怎样才能找到表中丢失的数字?

例如:

代码语言:javascript
复制
numbers   id
 1         1
 5         2
 3         3
 6         4
 7         5
 8         6
 9         7
 20        8
 ....

我怎么才能找到丢失的号码?就像4一样,920之间没有数字。

我什么都没试过,但我想知道。

EN

回答 4

Database Administration用户

发布于 2016-08-08 09:08:54

在postgresql中,您可以使用generate_series:

代码语言:javascript
复制
SELECT
  generate_series FROM GENERATE_SERIES(
    (select min(id) from numbers), (select max(id) from numbers)
  ) 
WHERE
  NOT EXISTS(SELECT id FROM numbers WHERE id = generate_series)

在mysql中,您需要自己生成意甲:生成意甲

票数 2
EN

Database Administration用户

发布于 2016-08-08 06:56:58

在server中,我们可以使用系统表master..spt_values。

代码语言:javascript
复制
USE tempdb
GO

create table numbers(id int)
GO

insert into numbers
select 1
insert into numbers
select 1
insert into numbers
select 5
insert into numbers
select 2
insert into numbers
select 3
insert into numbers
select 3
GO

select number from master..spt_values
where type='p' and number <=(select max(id) from numbers)
and number not in (select id from numbers)
票数 1
EN

Database Administration用户

发布于 2016-08-08 19:02:17

在MSSQL中,您可以执行以下操作:

代码语言:javascript
复制
--create a your table
CREATE TABLE ##seq
(id INT IDENTITY (1,1)
, txt VARCHAR(50))

--Build your dataset
INSERT INTO ##seq
        (  txt )
VALUES  ( 'boy'), ('girl'),('parent'),( 'boy'), ('girl'),('parent'),( 'boy'), ('girl'),('parent'),( 'boy'), ('girl'),('parent'),( 'boy'), ('girl'),('parent'),( 'boy'), ('girl'),('parent')

--remove your sequence ids to demonstrate
DELETE FROM ##seq WHERE id IN (2,5,7,8,9)

--Query your sequence for gaps 
SELECT (t1.id + 1) as gap_starts_at, 
       (SELECT MIN(t3.id) -1 FROM ##seq t3 WHERE t3.id > t1.id) as gap_ends_at
FROM ##seq t1
WHERE NOT EXISTS (SELECT t2.id FROM ##seq t2 WHERE t2.id = t1.id + 1)
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/146144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档