繁体   English   中英

在访问表中查找缺失的序列号

[英]Find Missing Sequence Numbers in Access Table

我在 Access 2003 数据库中有一个 MS Access 表,名为 Comments,在 Comments 表中有一个名为 Sequence Number 的列。 序列号列的数字范围从 1 到 20000。但是,序列号列中缺少某些数字,我希望能够查看丢失的数字,例如在下面我想运行访问查询以查看4 不见了。

Sequence Number
 1
 2
 3
 5
 6

我在 SQL 视图中使用以下 Access 查询来获取我想要的内容。

SELECT ([Sequence Number]+1) AS MissingFrom, DMin("Sequence Number","Comments","Sequence Number>" & [Sequence Number]) AS MissingUntil
FROM Comments
WHERE (((DMin("Sequence Number","Comments","Sequence Number>" & [Sequence Number]))<>([Sequence Number]+1)));

但是,当我运行查询时,出现以下错误:

Syntax error (missing operator) in query expression 'Min(Sequence Number)'. 

有人可以指出导致查询失败的原因吗? 谢谢!

NOT EXISTS

SELECT MIN([Sequence Number]) + 1 
FROM Comments AS c
WHERE
  c.[Sequence Number] < (SELECT MAX([Sequence Number]) FROM Comments)
  AND NOT EXISTS (
    SELECT 1 FROM Comments
    WHERE [Sequence Number] = c.[Sequence Number] + 1
  )

您可以使用以下方法获得缺失系列中的第一个:

select num + 1
from comments
where num + 1 not in (select num from comments) and
      num + 1 <> (select max(num) from comments);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM