Utilisez DISTINCT ON
:
SELECT DISTINCT ON (contenthash)
id,
contenthash,
filesize,
to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;
DISTINCT ON
est une extension Postgres qui s'assure que renvoie une ligne pour chaque combinaison unique de clés entre parenthèses. La ligne spécifique est la première trouvée en fonction du order by
clause.