2

对于以下 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 的方式做到这一点?

4

1 回答 1

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
于 2013-04-14T13:11:12.420 回答