in alternativa a quello che ti ha suggerito stabi, potresti usare questo:
ciaocodice:SELECT DISTINCT t1.id_oggetto,t1.contratto,t2.data, max(t2.data) as mas FROM oggetti AS t1, oggetti_riga AS t2 WHERE t2.stato='$stato' AND t1.id_oggetto=t2.oggetto GROUP BY t1.contratto HAVING MAX(t2.data)=mas;