如果选择在group子句中未使用且不是聚合的属性,则结果不确定。 也就是说,
您不知道其他属性是从哪些行中选择的。(sql标准不允许此类查询,但MySQL更宽松)。
然后应将查询写为
SELECt post_id, forum_id, topic_idFROM posts pWHERe post_time = (SELECt max(post_time) FROM posts p2 WHERe p2.topic_id = p.topic_id AND p2.forum_id = p.forum_id)GROUP BY forum_id, topic_id, post_idORDER BY post_time DESCLIMIT 5;
要么
SELECt post_id, forum_id, topic_id FROM postsNATURAL JOIN(SELECt forum_id, topic_id, max(post_time) AS post_time FROM posts GROUP BY forum_id, topic_id) pORDER BY post_timeLIMIT 5;



