我尝试使用这个查询:
"SELECT * FROM guests WHERE event_id=".$id.“GROUP BY member_id;”
我得到了这个错误:
错误:列"guests.id“必须出现在GROUP BY子句中或在聚合函数中使用
有人能解释一下我如何解决这个问题吗?
发布于 2010-05-15 01:34:27
如果不让Select知道要获取的内容以及如何进行分组,则无法进行分组。
试一试
SELECT guests.member_id FROM guests WHERE event_id=".$id." GROUP BY member_id;如果您需要从此表中获取有关来宾的更多信息,则需要将其添加到Group By中。
另外,看起来你的选择实际上应该是
SELECT guests.id FROM guests WHERE event_id=".$id." GROUP BY id;发布于 2010-05-15 01:40:17
group by查询中使用的每一列都需要专门调用(即,不要使用SELECT * FROM ...),因为您需要在某种聚合函数(min/max/sum/avg/count/等)中使用它们,或者是group by子句的一部分。
例如:
SELECT instrument, detector, min(date_obs), max(date_obs)
FROM observations
WHERE observatory='SOHO'
GROUP BY instrument, detector;https://stackoverflow.com/questions/2836216
复制相似问题