0
My SQL запроса являетсяВложенный запрос в Rails без использования find_by_sql
SELECT MAX(sale_money)
FROM (
SELECT SUM(sale_money) sale_money
FROM sales
WHERE MONTH(created_at) = 5
GROUP BY user_id
) t
Я пишу подзапрос в Rails 4 кода:
record = Sale.select("SUM(sale_money) AS sale_money").where("MONTH(created_at) = 5").group(:user_id)
Кто-то может научить меня построение запросов к max_record
на основе record
, или другой запрос, кроме max_record = Sale.find_by_sql(my_raw_sql)
или max_record = Sale.where(my_raw_sql)
2-й запрос работает. Первый может быть неправильным. Rails анализирует неправильный SQL-запрос: 'SELECT' sales'. * FROM Sale.where ("MONTH (created_at) = 5"). Select ("SUM (sale_money) AS sale_money"). Group (: user_id) '. Спасибо – user4557573
@ user4557573 попробуйте сейчас .. –
Arup Rails понимают '' Sale.select ("SUM (sale_money) AS sale_money") .where ("MONTH (created_at) = 5") .group (: user_id) '' как строка. Таким образом, он анализирует ваш код: SELECT MAX (t.sale_money) AS sale_money FROM Sale.select («SUM (sale_money) AS sale_money»). Где («MONTH (created_at) = 5»). Group (: user_id) ' – user4557573