如何将范围与子查询或find_by_sql链接或组合

时间:2011-02-02 19:21:20

标签: mysql ruby-on-rails-3 scope subquery chaining

我想执行类似

的查询
SELECT * FROM ( SELECT * FROM products ORDER BY price ASC ) AS s GROUP BY item;

返回每件商品所有产品中最便宜的。使用此子查询很好,因为它可以在O(N logN)时间内运行。

所以我可以用find_by_sql找到它,但是能够将它与Product的其他范围链接会很好。

任何人都知道如何将其写为范围或链作用域和find_by_sql?

1 个答案:

答案 0 :(得分:6)

您应该可以执行类似

的操作
Product.from("(SELECT * FROM products ORDER BY price ASC) AS products").group(:item)