You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计PostgreSQL中jsonb数组列各唯一值的出现次数?

PostgreSQL 统计JSONB数值数组的元素出现次数

直接通过拆分数组+分组计数就能实现,不需要先单独获取唯一值。执行以下SQL语句即可:

SELECT 
    JSONB_ARRAY_ELEMENTS_TEXT(aimjoined) AS aim_value,
    COUNT(*) AS occurrence_count
FROM mytable
GROUP BY aim_value
ORDER BY occurrence_count DESC;

说明:

  • JSONB_ARRAY_ELEMENTS_TEXT(aimjoined):把aimjoined列里的每个JSONB数组元素拆成单独的行,同时转为文本格式(如果需要保留数值类型,可改用(JSONB_ARRAY_ELEMENTS(aimjoined))::numeric替代)
  • COUNT(*):统计每个唯一值对应的出现次数
  • GROUP BY aim_value:按拆分后的每个值分组聚合
  • ORDER BY occurrence_count DESC:可选,按出现次数从多到少排序,便于快速查看高频值

如果你的数组元素是纯数值,想以数值类型统计,用这个版本:

SELECT 
    (JSONB_ARRAY_ELEMENTS(aimjoined))::numeric AS aim_value,
    COUNT(*) AS occurrence_count
FROM mytable
GROUP BY aim_value
ORDER BY occurrence_count DESC;

内容的提问来源于stack exchange,提问作者jotamon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 05:32:03