如何在自内连接mysql查询中选择不同的值?

如何在自内连接mysql查询中选择不同的值?,mysql,Mysql,这个mysql查询从评论中选择最大值,但内部是重复的,但我想去掉重复的内部 SELECT reviews.id, reviews_max.insId, reviews_max.maxAvgRating FROM ( SELECT insId, MAX(avgRating) AS maxAvgRating FROM reviews WHERE status = '1' GROUP BY insId ) AS reviews_max INNER JOIN revi

这个mysql查询从评论中选择最大值,但内部是重复的,但我想去掉重复的内部

SELECT reviews.id, reviews_max.insId, reviews_max.maxAvgRating
FROM 
(
    SELECT insId, MAX(avgRating) AS maxAvgRating
    FROM reviews
    WHERE status = '1'
    GROUP BY insId
) AS reviews_max 
INNER JOIN reviews
    ON reviews.insId = reviews_max.insId AND
       reviews.avgRating = reviews_max.maxAvgRating

你不能在没有子选择的情况下这样做吗

SELECT MAX(reviews.id) as id, MAX(reviews.insId), MAX(reviews.avgRating) AS maxAvgRating
FROM reviews
WHERE status = 1
GROUP BY reviews.id, reviews.insId
如果愿意,您仍然可以将id复制为Inside,但该值应该已经在id字段中


我使用SQLFiddle创建了一个快速示例:

请包含一些示例数据,以便更好地解释您的问题。