簡體   English   中英

pgSQL查詢錯誤

[英]pgSQL query error

我嘗試使用此查詢:

“SELECT * FROM guests WHERE event_id =”。$ id。“GROUP BY member_id;”

我收到這個錯誤:

錯誤:列“guests.id”必須出現在GROUP BY子句中或用於聚合函數

任何人都可以解釋我如何解決這個問題?

您不能在不讓Select知道要采取什么以及如何分組的情況下進行分組。
嘗試

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM