gpt4 book ai didi

postgresql - 如何获取 JSONB 列上的值的总和

转载 作者:行者123 更新时间:2023-11-29 11:28:49 34 4
gpt4 key购买 nike

我在 postgresql 上有一个像这样的一维 JSONB:

SELECT '{"a": 1, "b": 2, "c": 3}'::jsonb;

如何获取 JSONB 列值的总和?喜欢 1+2+3 的总和?

PostgreSQL 有 jsonb_object_keys函数,但我一直在寻找类似“jsonb_object_values”的东西(我知道这个函数不存在)

# select jsonb_object_keys( '{"a": 1, "b": 2, "c": 3}'::jsonb );
jsonb_object_keys
-------------------
a
b
c
(3 rows)

最佳答案

jsonb_each_text() 函数将一组 JSON 对象扩展为 (key, value) 格式的行。由于它返回一组行,因此您应该将其用作行源。由于它以 text 格式返回数据,因此您应该在进一步处理之前将其转换为适当的类型。

SELECT sum(v::integer)
FROM jsonb_each_text('{"a": 1, "b": 2, "c": 3}'::jsonb) j(k,v);

关于postgresql - 如何获取 JSONB 列上的值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102765/

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