使用Rails查询唯一项

时间:2015-08-28 17:01:31

标签: sql ruby-on-rails ruby

说我有一个汽车数据库:

make, model, year, color

我想找到所有来自“道奇”的车,但是没有给我看两次同样的车型: 例如,我可能有:

Dodge,van,2004,red
Dodge,van,2005,blue
Dodge,ram,2005,blue
GM,Sunfire,2006,red

如果我这样做:

Car.where(make:"Dodge",model: $UNIQUE)

我希望得到:

Dodge,van,2004,red
Dodge,ram,2005,blue

Ofcourse $ UNIQUE不存在......如何用活动记录/ sql完成?

更一般地说,我想要所有对象x == y&& z在结果集中是唯一的。

这可以通过Car.where(make:“Dodge”)来完成一些红宝石。然后修剪出重复的模型,但我想知道是否有更好的方法。

1 个答案:

答案 0 :(得分:4)

我认为应该返回具有独特品牌/型号组合的随机车(道奇范和道奇拉姆):

Car.where(make: 'Dodge').group(:model)

如果您只是对任何道奇感兴趣并且根本不关心该模型(这在您的问题中不明确)那么这可能符合您的需求:

Car.where(make: 'Dodge').first