Použijte DISTINCT ON :
SELECT DISTINCT ON (contenthash)
id,
contenthash,
filesize,
to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;
DISTINCT ON je rozšíření Postgres, které zajišťuje, že vrací jeden řádek pro každou jedinečnou kombinaci klíčů v závorkách. Konkrétní řádek je první nalezený na základě order by klauzule.