在一个场景中我想要检索具有不同值的记录,所以我使用了不同的
Book.where([“user_id =?”,@ user_id])。select('distinct title_id')
`this, only retrives the records like this [#<Book title_id: 30>, #<Book title_id: 31> ]`
但我想获取Book的id以及title_id
所以,请告诉我如何处理这个
感谢
答案 0 :(得分:11)
使用分组:
Book.where(:user_id => @user.id).grouped('title_id')
问题在于,如果您进行分组,则不能使用不同的书籍ID,它们都会分组为单行。您可以使用GROUP_CONCAT来解决:
Book...select('books.*, GROUP_CONCAT(id) as ids')
通过这种方式,您可以为每个群组设置书籍ids