我有我的sql视图:
SELECT
`reports`.`date` AS `date`,
`reports`.`book_title` AS `book_title`,
max(
`reports`.`royalty_type`
) AS `royalty_type`,
max(
`reports`.`avg_list_price`
) AS `avg_list_price`
FROM
`reports`
GROUP BY
`reports`.`date`,
`reports`.`book_title`,
`reports`.`marketplace`
据我了解,按日期对结果进行分组,然后按book_title然后按市场分组,然后在这个小的子组中选择最大royalty_type
和avg_list_price
如何在rails activerecord中重写此内容? 我不知道如何在activerecord中的这个小组中选择max。
答案 0 :(得分:2)
试试这个
Report.group(:date, :book_title, :marketplace).select('date, book_title, MAX(royalty_type) AS royalty_type, MAX(avg_list_price) AS avg_list_price')