2012-03-30 9 views

Respuesta

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

que ponerlas a uno de los usuarios de mayor edad (en caso hay varios). Si quieres obtenerlos todos, la forma más fácil es usar un pase doble.

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)) 

para hacer estas consultas eficiente, tendrá un índice en :age, por supuesto.

+0

Eso falla si la edad máxima es, por ejemplo, 23 y hay cinco que tienen esa edad. –

+0

Entonces, ¿la única forma es ordenar toda la colección>? –

+0

@muistooshort: ah, no leí con cuidado. Pensando ... –

Cuestiones relacionadas