json - 如何计算特定键在任意键大小的 json 列中出现在整个表中的次数
问题描述
例如,如果我有
colA
{"a" : 1, "b": 2}
{"b" : 3}
{}
我希望我的结果是:
key, count
a, 1
b, 2
解决方案
如果您不需要处理嵌套的 json 结构,您可以使用它jsonb_object_keys
来遍历所有键:
select x.ky, count(*)
from the_table t
cross join jsonb_object_keys(t.col_a) as x(ky)
group by x.ky
order by x.ky;
推荐阅读
- android - Flutter - AudioService,如何动态更改通知栏上的艺术家、标题和图像?
- sql-server - 在sql中转换日期格式
- android - 实现 Azure 通信服务 - Android 应用程序中的聊天
- python - 访问在安装在 unix 服务器上的 Docker 容器上运行的 jupyter
- qt - 如何在 Qt 5.12 和 Qt Quick Controls 2 的 TableView 中支持行选择?
- postgresql - 如何在 typeorm 中使用 LEFT JOIN LATERAL?
- c# - 在 Blazor 组件中使用 Javascript addEventListener
- javascript - Puppeteer 图像 src 选择器不适用于所有组件
- python - 函数“矩形”中的(-5:错误参数) - 无法解析“pt1”。索引为 0 的序列项类型错误
- c - 产生竞争条件