SQL:获取其他行未使用的数字列表

标签 sql postgresql

我正在使用 PostgreSQL 8.1.17,并且我有一个包含帐号的表。帐号的可接受范围是 1 到 1,000,000 之间的数字(六位数字)。 “acctnum”列包含帐号。选择所有正在使用的数字很容易(SELECT acctnum FROM tbl_acct_numbers ORDER BY acctnum)。我想要做的是选择可接受范围内未使用的所有数字,即在 acctnum 列中的任何行中都找不到它们。

最佳答案

SELECT
    new_number
FROM
    generate_series(1, 1000000) AS new_number
        LEFT JOIN tbl_acct_numbers ON new_number = acctnum
WHERE
    acctnum IS NULL;

关于SQL:获取其他行未使用的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823935/

相关文章:

postgresql - 如何解决空 docker-entrypoint-initdb.d 的问题? (PostgresQL + docker )

sql - SQL Server中的嵌套事务

c# - 根据用户时区的 UTC 时区更改计算

java - 如何在 spring 中查询 postgres 整数数组

sql - 转换日期 postgreSQL 时出错

postgresql - 如何为nodejs设置 Node 路径(Ubuntu)

MySQL嵌套查询执行

android - 将游标适配器与多表游标一起使用(内连接)

mysql - 对于 SQL 查询,使用 where 子句错误计数

postgresql - 如何将字符值传递给函数以便在其中执行单例选择?