我有下表
id bigint
phone_number text
account_id bigint
used boolean
insert_timestamp timestamptz
如果used = false
并且account_id
的ID包含至少一个从昨天或更早的时间插入的ID,我想获得结果。
例如我们有以下行
id phone_numberaccount_id used insert_timestamp
7292 16360000000 1093630 f 2018-04-10 12:48:17.700558-04
7293 16360000000 1093630 f 2018-04-10 12:48:17.700558-04
7294 16360000000 1093630 f 2018-04-10 12:48:17.700558-04
7295 16360000000 1093630 f 2018-04-11 12:48:17.700558-04
7296 16360000000 1093631 f 2018-04-11 12:48:17.700558-04
查询应该返回7292,7293,7294和7295而不是7296,因为昨天没有一个账号为1093631的
答案 0 :(得分:1)
您可以使用:
SELECT *
FROM tab
WHERE account_id IN (SELECT account_id
FROM tab
WHERE inserted_timestamp < now()::date
AND used = false);