最近,我遇到了两个问题:
select jsonb_build_object('a', jsonb_agg(1))
where false;
select jsonb_build_object('a', jsonb_agg(1))
where false
having count(*) > 0;第一次复述{"a": null},第二次没有,你能解释一下这两个查询发生了什么吗?我对两者都没有任何期望。
发布于 2018-08-27 09:37:35
它与JSON函数无关。
select count(1) where false;和
select count(1) where false having count(1) > 0;提供同样的效果。
第一个查询报告说,在where子句中有0条记录满足了给定的条件,在第二个查询中,having子句过滤出了来自第一个查询的行,其中count(1) <= 0
https://stackoverflow.com/questions/52034028
复制相似问题