Non si capisce bene quello che intendi. Un id , di per sè, é univoco. Altrimenti non si chiama id.
Quindi ,se un id è univoco, ogni altro dato che aggiungi ad un id è..... univoco.
Nel caso in cui id fosse univoco da solo => select id from tabella order by data.
Nel caso in cui id+data fossero ,univoco/i => select id, min(data) as datamin from tabella group by id order by datamin, id o order by min(data), id a secondo del database che usi.
In ogni caso se usi DISTINCT nell'order by ci vuole un campo presente nella clausola select.