繁体   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