用于以下SQL查询:
SELECT users.name, posts.title
FROM users
INNER JOIN posts
ON posts.user_id = users.id
我得到的结果如下所示:
name title
foo post_a
foo post_b
foo post_c
bar post_d
bar post_e
但是,我想使用用户名对其进行分组,即通过例如名为'foo'的帖子标题。因此,结果哈希表示应如下所示:
{
:foo => [ post_a, post_b, post_c ],
:bar => { post_d, post_e ]
}
我怎样才能以Ruby的方式做到这一点?
答案 0 :(得分:1)
查看group_concat函数
SELECT user.name, GROUP_CONCAT(DISTINCT post.title
ORDER BY post.title DESC SEPARATOR ' ') FROM
user INNER JOIN post ON post.user_id = user.id
group by user.name