根据日期查找 1 列之间的差异

Find the difference between 1 column depending on date

当我运行这个:

SELECT NAME FROM T1
WHERE _LOAD_DATETIME::date = '2022-01-31'

我看到 62 行

但当我这样做时

SELECT NAME FROM T1
WHERE _LOAD_DATETIME::date = '2022-02-01'

我看到 59

我想看看 NAME 在 运行 for _LOAD_DATETIME::date = '2022-02-01'

时缺少什么

我认为这行得通,但行不通:

SELECT NAME FROM table
WHERE _LOAD_DATETIME::date = '2022-02-01' 
AND NOT EXISTS (
SELECT NAME FROM 
table
WHERE _LOAD_DATETIME::date = '2022-01-31')

为了您的目的,您必须使用 MINUS

SELECT NAME FROM T1
WHERE _LOAD_DATETIME::date = '2022-01-31'
MINUS
SELECT NAME FROM T1
WHERE _LOAD_DATETIME::date = '2022-02-01'

如果我们谈论 PostgreSQL,您必须使用 EXCEPT 而不是 MINUS

有两个set operators MINUS or EXCEPT你可以使用(它们是彼此的别名)

SELECT column1 来自值 (1),(2),(3),(4) 减 SELECT column1 来自值 (2),(3),(4),(5);

1如果你想看5你需要翻转SELECT的顺序。