我有一个像这样的postgres表
activity
comment likes
Hi ["bill", "susan"]
Hello ["susan", "john", "joe"]
我正在尝试获得喜欢的总数。
喜欢的类型为jsonb
我知道我可以选择所有数据,然后以增量递增的方式循环遍历并计数,但是一旦您获取大量数据,就会造成性能问题。
是否可以通过单个查询来做到这一点?
对于上面的示例,喜欢的总数应为5
答案 0 :(得分:1)
从活动中选择总和(array_length(likes,1));
答案 1 :(得分:0)
@dassum的答案很接近,我只需要对其进行调整以支持jsonb
SELECT SUM(jsonb_array_length(likes)) FROM activity;