数据库中存在一张表:Account。该表至少有一个字段AccountID,类型是整数型,并且是主键。
表中的部分数据如下(按照AccountID进行排序):
Table: Account
--------------------------------
|AccountID | 其他字段略
|-------------------------------
| 1
| 2
| 3
| 4
| 9
|10
|11
|20
--------------------------------
可以看出,目前表中的AccountID的数值不是连续的。
要求:请编写一个SQL语句,找出表中缺少的AccountID中,最小的一个
SELECT CASE WHEN NOT EXISTS(SELECT * FROM @a WHERE Account = 1) THEN 1 ELSE MIN(Account) + 1 END FROM @a AS A WHERE NOT EXISTS (SELECT * FROM @a AS B WHERE B.Account = A.Account + 1)