Sql 将多列上的数组_agg乘以一列

Sql 将多列上的数组_agg乘以一列,sql,ruby-on-rails,postgresql,activerecord,Sql,Ruby On Rails,Postgresql,Activerecord,我目前有一个这样的标记表示例: id | tag | user_id | video_id 1 | cake | 1 | 1 2 | cookie | 1 | 2 3 | crab | 2 | 2 4 | carrot | 2 | 2 我想按video_id对最近的10-20行进行分组,其他列作为数组: video_id 1, has tag "cake", user_

我目前有一个这样的标记表示例:

id | tag    | user_id | video_id
 1 | cake   |       1 |        1
 2 | cookie |       1 |        2
 3 | crab   |       2 |        2
 4 | carrot |       2 |        2
我想按video_id对最近的10-20行进行分组,其他列作为数组:

video_id 1, has tag "cake", user_id 1
video_id 2, has tags "cookie", "cake", "crab", by user_id 1, user_id 2

像这样的东西应该有用

SELECT video_id, array_agg(tag) as tags, array_agg(user_id) as user_ids
FROM tags
ORDER BY id
GROUP BY video_id
LIMIT 10