[ruby-it] ActiveRecord come trovare i record prima e dopo

Luca Mearelli luca.mearelli a gmail.com
Gio 18 Mar 2010 15:56:26 CET


2010/3/18 Simone R. <k5mmx a yahoo.com>:
> La tabella utenti e' gia' in mememoria perche' subito prima
> ho dovuto fare la validazione e quindi ho anche gia' in memoria
> il punteggio dell' utente attuale,

ah se hai gia' il punteggio dell'utente attuale (e non solo il suo ID)
puoi fare una sola query (usando la union) per trovare i "vicini",
tipo:


select * from users where score <= :current_user_score AND id <
:current_user_id order by score desc, id desc limit 3
union
select * from users where score >= :current_user_score AND id >
:current_user_id order by score asc, id asc limit 3


ciao,
Luca


More information about the Ml mailing list