列必须出现在GROUP BY子句中

ode*_*fla 1 postgresql

我有这个问题:

SELECT 
"EventReadingListItem"."id"
, "EventReadingListItem"."UserId"
FROM "EventReadingListItems" AS "EventReadingListItem" 
group by "EventReadingListItem"."EventId";
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到了错误

Column "EventReadingListItem"."id" must appear in the GROUP BY clause or be used in an aggregate function.
Run Code Online (Sandbox Code Playgroud)

为什么?我已经阅读过类似的问题,但我真的不明白为什么这个简单的小组不起作用.是因为group by中的字段不是"EventReadingListItem"吗?

Oto*_*dze 6

所以,根据你的评论,这应该适合你.

为每个EventId具有最小/最小值的行提供唯一行id:

select DISTINCT ON (EventId) EventId, id, UserId
from EventReadingListItems
order by EventId, id
Run Code Online (Sandbox Code Playgroud)