The question look simple but the response is not always easy!! If there is dups, it indicates that we don't have UPI's or USI's and/or the table is MULTISET. Let say that the simplest way is to use window ordered functions and qualifying one row :
Select ...... From
Qualify row_number() over( partition by order by ) = 1
But we have to choose the right partitionning and ordering column-groups (PK's?, dates ? timestamps? sequence numbers ? ). These questions are model-related. We must answer to theses questions first, and most of the time responses are not only technical.