私の開発環境(SQLite)には、次のような機能メソッドがあります。
def self.ytd
Production.find(
:all,
conditions: ["year == ?", Time.now.year],
select: "carrier_id, amount, SUM(amount) as sum_amount",
group: :carrier_id
)
end
:carrier_id
このメソッドは、列で構成されるテーブルを正常に検索し:amount
ます。:amount
次に、グループ化されたものに基づいて列を合計します:carrier_id
Postgresqlを使用して本番環境に変換しようとしています。以下のコードはレコードを正常にグループ化しますが、合計することはできません:amount
。私は方法を修正しようと.sum("productions.amount")
しましたが成功しませんでした。簡単な解決策があると確信していますが、それは私をほのめかします..誰かが助けてくれますか?ありがとう
def self.ytd
Production.select("DISTINCT ON (productions.carrier_id) productions.carrier_id, productions.amount ")
.where("productions.year = (?)", "#{Time.now.year}")
.group("productions.amount, productions.carrier_id, productions.id")
end