postgresql – 如何在JSONB列上获取值的SUM

我在 postgresql上有一个一维的 JSONB,如下所示:

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

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

Postgresqljsonb_object_keys功能,但我一直在寻找类似“jsonb_object_values”的东西(我知道这个功能不存在)

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

解决方法

jsonb_each_text()函数将一组JSON对象扩展为(键,值)格式的行.由于它返回一组行,因此您应将其用作行源.由于它以文本格式返回数据,因此在进一步处理之前应将其强制转换为适当的类型.

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

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...