Postgresql,jsonb_build_object 和 jsonb_agg
Postgresql, jsonb_build_object and jsonb_agg
最近我遇到了两个查询:
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}
,其次 - 什么都没有,你能解释一下这两个查询中发生了什么吗?我不希望两者都有任何结果。
它与 JSON 功能无关。
select count(1) where false;
和
select count(1) where false having count(1) > 0;
提供相同的效果。
第一个查询报告有 0 条记录满足 where
子句中的给定条件,第二个查询 having
子句从第一个查询 count(1)
<= 中过滤掉行0
最近我遇到了两个查询:
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}
,其次 - 什么都没有,你能解释一下这两个查询中发生了什么吗?我不希望两者都有任何结果。
它与 JSON 功能无关。
select count(1) where false;
和
select count(1) where false having count(1) > 0;
提供相同的效果。
第一个查询报告有 0 条记录满足 where
子句中的给定条件,第二个查询 having
子句从第一个查询 count(1)
<= 中过滤掉行0