我有一张像波纹管一样的桌子
+---+---+
| A | B |
+---+---+
| 1 | 1 |
+---+---+
| 2 | 1 |
+---+---+
| 3 | 2 |
+---+---+
| 4 | 2 |
+---+---+
| 5 | 2 |
+---+---+
是否有一种有效的方式来查询形式:
{1 => [1,2], 2 => [3,4,5]}
(按B分组并选择A作为列表)
你可以使用string_agg()
功能
select B,string_agg(A,', ')
from tablename
group by B
或者你可以使用array_agg()
select B,array_agg(A)
from tablename
group by B