2012-03-30 13 views

回答

10
one_of_oldest_users = User.desc(:age).limit(1).first 

这会让你以最大年龄的用户的一个(如果用户 有几个)。如果你想得到他们全部,最简单的方法是使用两遍。

max_age = User.max(:age) 
oldest_users = User.where(age: max_age) 

# or, if you like one-liners 
oldest_users = User.where(age: User.max(:age)) 

为了提高这些查询的效率,当然需要一个索引:age

+0

如果最大年龄是23岁,并且有5岁具有那个年龄,那么这个失败。 – 2012-03-30 06:54:28

+0

所以唯一的办法是整理收集>? – 2012-03-30 06:54:59

+0

@ muistooshort:啊,没有仔细阅读。思考...... – 2012-03-30 06:56:50

相关问题