1

我想执行如下查询

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

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

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

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

4

1 回答 1

6

你应该能够做类似的事情

Product.from("(SELECT * FROM products ORDER BY price ASC) AS products").group(:item)
于 2011-02-02T19:36:33.040 回答