Не знам за Squeel, но грешката, която виждате, може да бъде поправена чрез надграждане на PostgreSQL.
Започвайки с PostgreSQL 9.1, след като посочите първичен ключ в GROUP BY, можете да пропуснете допълнителни колони за тази таблица и да продължите да ги използвате в списъка SELECT. Бележки по изданието за версия 9.1 кажете ни:
Между другото, вашата алтернативна заявка може да бъде опростена, допълнителен DISTINCT
би било излишно.
SELECT o.*, c.my_count
FROM onetable o
JOIN (
SELECT one_id, count(*) AS my_count
FROM anothertable
GROUP BY one_id
) c ON o.id = counts.one_id