我想获取数组中每个元素的计数。我正在使用postgres。 我有数组[1,2,3,1,1,2]。如何将这些数组元素与每个元素进行比较。
输出为:
array_element | 计数
1 | 3
2 | 2
3 | 1
答案 0 :(得分:1)
您可以使用unnest
:
SELECT array_elem, COUNT(*) AS cnt
FROM t, unnest(c) s(array_elem)
GROUP BY array_elem
ORDER BY array_elem;
答案 1 :(得分:1)
要应用于单个值(而不是表列):
SELECT i, count(*) AS cnt
FROM unnest('{1,2,3,1,1,2}'::int[]) i
GROUP BY i
ORDER BY i;
unnest()
是一个返回设置的函数,又称为“表函数”。您基本上可以像在SELECT
查询中的表一样使用它。