我試圖用HAVING
子句編寫以下查詢,以避免編寫一個子查詢,因此使查詢有點少讀:HAVING子句有什麼問題?
SELECT partner_id, player_id, currency_id, platform_id
FROM account
GROUP BY partner_id, player_id, currency_id, platform_id
HAVING MAX(date) = date
我需要得到所有的行,由我指定的內容分組在GROUP BY
子句中有max date
。但我得到了關於的錯誤
ERROR: column "account.date" must appear in
the GROUP BY clause or be used in an aggregate function
我在聚合函數中使用它。怎麼了?
出了什麼問題'其中,max(日期)= date'?如果你想使用'having',你必須按'having'子句中的列進行分組。 – Smutje
@Smutje聚合是不允許在where子句 – user3663882
你想完成什麼?你想每組有一行(具有最大日期的行)?如果是,開窗功能(如Damien_The_Unbeliever建議的)是要走的路。如果不是,請添加示例輸入和預期輸出到您的問題。 –