[英]how to select max value with corresponding id in mysql
SELECT
id
, insId
, MAX(avgRating) as avgRating
FROM reviews
WHERE status='1'
GROUP BY insId
this query returns all reviews grouped by insId but id is not corresponding to this. 此查询返回按insId分组的所有评论,但id不与此对应。
You need to use a self INNER JOIN to get the results you need. 您需要使用自已的INNER JOIN来获得所需的结果。
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
Try this: 尝试这个:
SELECT
id
, insId
, MAX(avgRating) as avgRating
FROM reviews
WHERE status='1'
GROUP BY id
You can try this out: 您可以尝试以下方法:
SELECT id,
insId,
MAX(avgRating) as avgRating
FROM reviews
WHERE status='1'
GROUP BY id, insId
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.