allora prova con qualcosa simile

Codice PHP:
GROUP BY campo_codice
ORDER BY cognome
nomecampo_data ASC 
con group BY elimini sicuramente i duplicati

Non sono sicuro per quanto riguarda l'ordine in cui ti restituisce i risultati. Se non ti da l'ordine che desideri dovresti provare a fare una query ricorsiva oppure non so se qualche altro forumista ha suggerimenti su come ottenere il risultato facendo un'unica query.