[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