perchè hai ordinato il result set.
Porva questa query
codice:
select L.*, G.nome
from 
	(select * from listino_prezzi order by da_data) as L
join gen_magazzino as G
on L.id_magazzino = G.id_magazzino
where L.id_listino = 5
group by L.id_magazzino
eventualmente applica il MAX
ciao
sergio