如何在PostgreSQL中从表格创建一个hstore?

3

我有一个查询,返回一个键和值的表格,如下:

 key |       value        
-----+------------------
   a | 3.73333333333333
   b | 2.3
   c | 2.76666666666667

我希望您能将其转换为hstore格式:
       hstore         
-----------------------
 'a' => '3.73333333333333', 'b' => '2.3', 'c' => '2.76666666666667'

有一些生成hstore的函数可以接受文本、一对文本甚至一对数组,但是没有以这种方式接受表格的函数。
如何实现这个功能?

你正在使用哪个版本的PostgreSQL? - Mark Byers
1个回答

4
我还没有测试过,但这个方案能行吗?
SELECT hstore(array_agg(key ORDER BY key), array_agg(value ORDER BY key))
FROM yourtable

谢谢,第一次尝试时它没有起作用,因为value是聚合函数(avg)的结果,显然不允许嵌套聚合,但将原始查询转换为别名子查询可以纠正它。 - MrTheWalrus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接