Mysql 我需要将两个表链接在一起,只返回最高的组平均值

Mysql 我需要将两个表链接在一起,只返回最高的组平均值,mysql,sql,Mysql,Sql,因此,我尝试将我的两个表链接在一起,我有我的Artist表和我的CD表。我的CD表包含许多CD条目,包括CD.cdID、CD.artID、CD.cdTitle、CD.cdPrice和CD.cdGenre。我的Artist表包含,Artist.artID,Artist.artName。我正在尝试返回在CD表中所有CD的平均价格最高的Artist.artName 这是我到目前为止的代码。到目前为止,它通过CD.artID获得了CD的最高平均价格,但我不确定如何将其结合起来,以便我可以显示Artist

因此,我尝试将我的两个表链接在一起,我有我的
Artist
表和我的
CD
表。我的
CD
表包含许多CD条目,包括
CD.cdID
CD.artID
CD.cdTitle
CD.cdPrice
CD.cdGenre
。我的
Artist
表包含,
Artist.artID
Artist.artName
。我正在尝试返回在
CD
表中所有CD的平均价格最高的Artist.artName

这是我到目前为止的代码。到目前为止,它通过
CD.artID
获得了CD的最高平均价格,但我不确定如何将其结合起来,以便我可以显示
Artist.artName
名称,而不是
CD.artID

SELECT AVG(cdPrice) as cdPrice, artID
FROM CD
GROUP BY artID
HAVING AVG(cdPrice) = (SELECT MAX(cdPrice) FROM 
(SELECT AVG(cdPrice) as cdPrice FROM CD GROUP BY artID) A)

我通过PhpMyAdmin使用MySQL。

在加入表后,您可以使用
分组方式
——同样的规则适用,即所有未聚合的列都必须分组。若要仅查找平均值最高的艺术家,您可以使用简单的顺序和限制来替换have:

SELECT AVG(cd.cdPrice) as avgPrice, a.artName
FROM CD cd INNER JOIN Artist a
on cd.artID = a.artID
GROUP BY a.artName
ORDER BY avgPrice DESC
LIMIT 1;