Nie wiedziałbym o Squeel, ale błąd, który widzisz, można naprawić, aktualizując PostgreSQL.
Począwszy od PostgreSQL 9.1, po umieszczeniu klucza podstawowego w grupie GROUP BY możesz pominąć dodatkowe kolumny dla tej tabeli i nadal używać ich na liście SELECT. informacje o wydaniu wersji 9.1 powiedz nam:
BTW, alternatywne zapytanie można uprościć, dodatkowe DISTINCT
byłoby zbędne.
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