with ids as
(
select
id
from
(
select
id,
row_number() over (partition by user_id order by create_time desc ) rk
from t1
where tenant_id = 600060
and is_end = 'true'
) id
where rk = 1
)
select
ids.id assess_form_id,
t3.id
from ids
join
(
select
id
from t2
where tenant_id = 600060
) t3 on ids.id = t3.id
where pre - cur >= 2;
未使用where条件过滤, 得到结果如下
使用where条件过滤,得到结果如下
问题: 使用where过滤后 得到的数据 不是 未使用where过滤 得到数据的 子集
补充: 目前已通过将 ids 放入 in 中查询解决