我有这样的疑问:
SELECT
"EventReadingListItem"."id"
, "EventReadingListItem"."UserId"
FROM "EventReadingListItems" AS "EventReadingListItem"
group by "EventReadingListItem"."EventId";
当我运行它时,我得到了错误
Column "EventReadingListItem"."id" must appear in the GROUP BY clause or be used in an aggregate function.
为什么?我读过类似的问题,但我真的不明白为什么这个简单的分组方式不起作用。是因为group by中的字段还不称为“EventReadingListItem”吗?
最佳答案
所以,根据你的评论,这应该对你有用。
为每个具有最小/minEventId
值的id
提供唯一行:
select DISTINCT ON (EventId) EventId, id, UserId
from EventReadingListItems
order by EventId, id