【发布时间】:2019-05-25 16:34:14
【问题描述】:
我使用的是 postgres 9.5,我的数据是这样的整数:
id | v1 | v2 | v3
---+----+----+------
1 | 10 | 3 | null
2 | 5 |null| 1
3 |null| 2 | 7
我创建了一个像这样的jsonb 数组:
[{"v1": 10, "v2": 3, "v3": null}]
我想运行比较和聚合(IE sum all v1)。
1) jsonb_array_elements 是正确的操作还是有更简单的方法?
2) 如果 jsonb_array_elements 是最好的方法,我如何转换为整数并生成 null 值以便我可以运行比较/聚合?
我查看了几个堆栈问题,据我所知:
SELECT id, x->'v1' AS v1
FROM base,jsonb_array_elements(j) t(x);
【问题讨论】:
-
您忘记声明您的 Postgres 版本。
-
已编辑,再次感谢。你的答案总是那么准确。如果你曾经做过关于 postgres 的在线课程,我会是第一个注册的。
标签: postgresql casting aggregate jsonb