группировать по столбцам и выбирать другой столбец в виде списка в рельсах - PullRequest
1 голос
/ 12 апреля 2019

У меня есть стол, как ниже

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

Есть ли эффективный способ запроса, чтобы сформировать как:

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

(сгруппировать по B и выберите A в качестве списка)

1 Ответ

1 голос
/ 12 апреля 2019

вы можете использовать string_agg() функцию

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

ИЛИ вы можете использовать array_agg()

select B,array_agg(A) 
from tablename
group by B
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...