我試過使用此查詢:pgSQL查詢錯誤
「SELECT * FROM guests WHERE event_id =」。$ id。「GROUP BY member_id;」
,我得到這個錯誤:
錯誤:列「guests.id」必須出現在GROUP BY子句或聚合函數中使用
任何人都可以解釋我如何可以解決這個?
我試過使用此查詢:pgSQL查詢錯誤
「SELECT * FROM guests WHERE event_id =」。$ id。「GROUP BY member_id;」
,我得到這個錯誤:
錯誤:列「guests.id」必須出現在GROUP BY子句或聚合函數中使用
任何人都可以解釋我如何可以解決這個?
如果不讓選擇器知道要採取的操作以及如何分組,您無法進行分組。
嘗試
SELECT guests.member_id FROM guests WHERE event_id=".$id." GROUP BY member_id;
如果你需要從這個表對客人得到更多的信息,您需要將其添加到分組依據。
此外,它看起來像你的選擇實際上應該是
SELECT guests.id FROM guests WHERE event_id=".$id." GROUP BY id;
每個中使用的列的group by
查詢需要明確地叫出來(即不做SELECT * FROM ...
),因爲你需要在某種集合函數(min/max/sum/avg/count/etc)中使用它們或者成爲group by
子句的一部分。
例如:
SELECT instrument, detector, min(date_obs), max(date_obs)
FROM observations
WHERE observatory='SOHO'
GROUP BY instrument, detector;