Я знаю, что это звучит как вопрос "сделай домашнее задание для меня", но я некоторое время пытался воссоздать этот запрос с ActiveRecord, и теперь мне интересно, возможно ли это сделать, не прибегая к использованию ActiveRecord::Base.connection.execute
Структура в основном:
Member has_many orders and transactions
Мне нужно отобразить всех участников, которые разместили заказ, общую сумму заказов и количество транзакций.для данного диапазона дат, упорядоченного по общей сумме.
Я могу получить нужные мне данные с помощью следующего запроса:
SELECT members.*,
SUM(orders.amount) AS total_amount,
COUNT(transactions.id) AS total_transactions
FROM members
INNER JOIN orders ON (orders.member_id = member.id)
LEFT JOIN transactions ON (transactions.member_id = members.id)
WHERE orders.created_at BETWEEN "2012-03-01" AND "2012-04-01"
GROUP BY member.id
ORDER BY total_amount DESC
Можно ли сформулировать этот запрос через ActiveRecord?