Använd DISTINCT ON
:
SELECT DISTINCT ON (contenthash)
id,
contenthash,
filesize,
to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;
DISTINCT ON
är en Postgres-tillägg som ser till att returnera en rad för varje unik kombination av nycklar inom parentes. Den specifika raden är den första som hittas baserat på order by
klausul.