gpt4 book ai didi

json - 向 Postgres 查询 JSON 中的项目数

转载 作者:行者123 更新时间:2023-11-29 12:05:06 25 4
gpt4 key购买 nike

我正在运行 Postgres 9.3,并且遇到一个涉及 JSON 列的查询问题,我似乎无法破解。

让我们假设这是表格:

# CREATE TABLE aa (a int, b json);
# INSERT INTO aa VALUES (1, '{"f1":1,"f2":true}');
# INSERT INTO aa VALUES (2, '{"f1":2,"f2":false,"f3":"Hi I''m \"Dave\""}');
# INSERT INTO aa VALUES (3, '{"f1":3,"f2":true,"f3":"Hi I''m \"Popo\""}');

我现在想创建一个查询,返回在 JSON 列的根节点(即第 2 行和第 3 行)中恰好具有三个项目/键的所有行。JSON 是否嵌套没关系。

我尝试使用 json_object_keysjson_each 但无法正常工作。

最佳答案

json_each(json)应该做的工作。只计算根元素:

SELECT aa.*
FROM aa, json_each(aa.b) elem
GROUP BY aa.a -- possible, because it's the PK!
HAVING count(*) = 3;

SQL Fiddle.

关于json - 向 Postgres 查询 JSON 中的项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com