我有這樣的查詢。版本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
版本中的所有列使用*
?