我有一个模特
Model-1有字段
数字可以相同。 我想显示所有Model-1记录,但如果有两个或更多记录具有相同的编号,我希望它只显示具有最低价格的记录。
我将如何在Controller中编写查询。 请不要在条件下建议我。
答案 0 :(得分:1)
首先,让我们在SQL中考虑这个问题。该查询会是什么样的?
如果您想要最低的特定值,那么您将创建一个询问价格的查询,并按数字排序,然后按价格排序。
library(qdapTools)
mtabulate(strsplit(gsub("\\(\\d+%\\)", "", x), ";"))
## Chicken Duck Goose Pigeon Tree sparrow Turkey Wild bird Wild duck
## 1 1 1 1 1 1 1 1 1
## 2 0 0 0 0 1 0 0 0
## 3 1 0 0 0 0 0 0 0
这将确保您的条目的顺序首先按数字排序,然后按最低价格排序(ASC是升序,因此从1到10)。然后你只得到你关心的一个元素。
在Rails中,如果你正在使用ActiveRecord,那么这可能是这样的。
SELECT *
FROM model-1
WHERE number = :number
ORDER BY number ASC, price ASC
LIMIT 1;