我的 postgresql 数据库中有一个 hstore 列。数据库的每一行在 hstore-column 中都有不同数量的键/值。如何获取每行的键/值的数量?
问问题
2591 次
2 回答
7
select hstore_column,
array_length(akeys(hstore_column), 1) as num_keys
from the_table
于 2013-09-12T13:45:49.177 回答
2
您可以使用其中一个hstore
函数,将其转换hstore
为另一种可以检索元素数量的数据类型。例如,您可以使用avalue
计算值的键数hstore
:
SELECT id, array_length(avals(my_hstore_field), 1) AS count_keys
FROM mytable;
在文档上有一个很好的例子来获取所有的键和它的出现次数,这可能对你有用:
SELECT key, count(*) FROM
(SELECT (each(h)).key FROM testhstore) AS stat
GROUP BY key
ORDER BY count DESC, key;
于 2013-09-12T13:48:10.360 回答