按列分组并选择其他列作为rails中的列表

时间:2019-04-12 03:57:13

标签: sql ruby-on-rails postgresql

我有一个像波纹管一样的桌子

+---+---+
| A | B |
+---+---+
| 1 | 1 |
+---+---+
| 2 | 1 |
+---+---+
| 3 | 2 |
+---+---+
| 4 | 2 |
+---+---+
| 5 | 2 |
+---+---+

有没有一种有效的查询形式的表格:

{1 => [1,2], 2 => [3,4,5]}

(按B分组,然后选择A作为列表)

1 个答案:

答案 0 :(得分:1)

您可以使用string_agg()功能

select B,string_agg(A,', ') 
from tablename
group by B

或者您可以使用array_agg()

select B,array_agg(A) 
from tablename
group by B
相关问题