salve a tutti ho un problema nel costruire una SELECT

ecco la tabella:

RegistroID | BarcaID | RegistroDataOra | RegistroFlagInOut | RegistroRotta | RegistroNote
int(11) | int(11) | Timestamp | tinyint(1) | varchar(25) | varchar(25)

praticamente vogli ottenere, con una query, lo stato in tempo reale o di una particolare dataora, di un piccolo porto turistico.
Ossia chi è in mare (FLAG 1) e chi sta ormeggiato (FLAG 0).

ho provato con svariate combinazioni di DISTINCT, GROUP BY, ORDER BY e MAX ma non ho mai ottenuto il risultato sperato. alcune Query non mi davano l'ultima dataora, altre mi prendevano il campo RegistroFlagInOut RegistroRotta e RegistroNote di altri record...

cosa devo fare???

Grazie a tutti....