pgSQL查询错误

pgSQL查询错误,sql,postgresql,Sql,Postgresql,我尝试使用此查询: “从来宾中选择*,其中event_id=“.$id.”按成员_id分组;” 我得到一个错误: 错误:列“guests.id”必须出现在GROUP BY子句中或在聚合函数中使用 有人能解释一下我如何解决这个问题吗?如果不让Select知道要采取什么措施以及如何分组,您就不能分组。 试一试 如果您需要从此表中获取更多关于客人的信息,您需要通过将其添加到组中 另外,看起来你的选择应该是 SELECT guests.id FROM guests WHERE event_id=".$i

我尝试使用此查询:

“从来宾中选择*,其中event_id=“.$id.”按成员_id分组;”

我得到一个错误:

错误:列“guests.id”必须出现在GROUP BY子句中或在聚合函数中使用


有人能解释一下我如何解决这个问题吗?

如果不让Select知道要采取什么措施以及如何分组,您就不能分组。
试一试

如果您需要从此表中获取更多关于客人的信息,您需要通过将其添加到组中

另外,看起来你的选择应该是

SELECT guests.id FROM guests WHERE event_id=".$id." GROUP BY id;

group by
查询中使用的每一列都需要特别调用(即,不要执行
从…
中选择*),因为您需要在某种聚合函数(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;
SELECT instrument, detector, min(date_obs), max(date_obs)
FROM observations
WHERE observatory='SOHO'
GROUP BY instrument, detector;