获取与mysql中最近的结果关联的行
我正在尝试在我的应用程序中获得一个配方缩放方法,该方法将返回一些更好的测量值,以适应使用量 例如,6个人的食谱需要1杯面粉。如果你为一个人衡量,一杯面粉的1/6等于2.5汤匙,这是一个更好的说法(当你可以只用汤匙的时候,为什么要寻找并弄脏量杯?) 因此,我在db a权重表中有以克为单位的权重,相应的度量和数量。 为了面粉获取与mysql中最近的结果关联的行,mysql,ruby-on-rails-3,Mysql,Ruby On Rails 3,我正在尝试在我的应用程序中获得一个配方缩放方法,该方法将返回一些更好的测量值,以适应使用量 例如,6个人的食谱需要1杯面粉。如果你为一个人衡量,一杯面粉的1/6等于2.5汤匙,这是一个更好的说法(当你可以只用汤匙的时候,为什么要寻找并弄脏量杯?) 因此,我在db a权重表中有以克为单位的权重,相应的度量和数量。 为了面粉 amount | measure | grams ----------+-------------+--------- 1 | cup
amount | measure | grams
----------+-------------+---------
1 | cup | 160
1 | tbsp | 10
1 | pound | 454
在我的应用程序(最好使用activerecord)中,我试图获得配方中每种成分的最佳测量值
@ingredients = Recipe.select('food_names.name,
ABS(ingredients.grams-weights.grams) as nearest_weight,
weights.amount,
weights.measure'
).joins(
{:ingredients=> :food_name},
{:food_names=> :weights}
).where(
"recipes.recipe_id", :recipe_id
).order(
:nearest_weight
).reverse_order
nearest_weight
在数据库中搜索最接近的权重匹配,但我需要找到与该行关联的权重和度量值,目前,我正在返回所有行
我需要做的是以某种方式将最接近的_weight
限制为一行,然后获取该行,以便我知道权重和度量值,我希望我可以在一个查询中完成这一切