Jeśli chcesz mieć pierwszy w każdej firmie, użyj distinct on
. To fajna konstrukcja dostępna tylko w Postgresie:
SELECT DISTINCT ON (co.name) co.name, cl.name, cl.created_at
FROM company co INNER JOIN
client cl
ON cl.company_id = co.id
ORDER BY co.name, cl.created_at asc;