Użyj DISTINCT ON :
SELECT DISTINCT ON (contenthash)
id,
contenthash,
filesize,
to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;
DISTINCT ON to rozszerzenie Postgres, które zapewnia, że zwraca jeden wiersz dla każdej unikalnej kombinacji kluczy w nawiasach. Określony wiersz jest pierwszym znalezionym na podstawie order by klauzula.