[英]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.