In Postgres 8.4... (ordinare per numero è solo un alias per la colonna per cui ordinare)
select id,hash, max(id) over (partition by hash) h
from my_table order by 3 desc,1 desc;
O
select id,hash
from my_table order by max(id) over (partition by hash) desc,
id desc