私はこのようなクエリを持っています。バージョン8.4と9.5では集約機能が異なりますか?
SELECT companies.id, companies.code, MAX(disclosures.filed_at) disclosure_filed_at
FROM \"companies\" INNER JOIN \"disclosures\" ON \"disclosures\".\"company_id\" = \"companies\".\"id\"
GROUP BY companies.id
このクエリは、PostgreSQL 9.5.2
で動作しますが、それは誤りで、バージョン8.4.20
に失敗しました。
PG::GroupingError: ERROR: column "companies.code" must appear in the GROUP BY clause or be used in an aggregate function
私はcompanies.code
GROUP BY
に句を追加した場合、それは動作します。しかし、companies.*
で選択すると、私はcompanies.*
でグループ化できません。
8.4
のすべての列に*
を書き込む必要がありますか?