MySQL AVG然后按结果排序

MySQL AVG然后按结果排序,mysql,Mysql,我有一个相当大的MYSQL数据库,需要对所有发票进行平均,然后查询这些平均值中的最高值。我的查询将连接三个表,以获得适当的数据进行显示。表格包括品牌、产品和系列。我需要的列是brand中的brand_name和brand_id,line中的line_price,product连接到brand和inventory表中 SELECT brand.brand_id, brand.brand_name, brand.brand_type, ROUND(MAX(line_price),2) AS 'Hig

我有一个相当大的MYSQL数据库,需要对所有发票进行平均,然后查询这些平均值中的最高值。我的查询将连接三个表,以获得适当的数据进行显示。表格包括品牌、产品和系列。我需要的列是brand中的brand_name和brand_id,line中的line_price,product连接到brand和inventory表中

SELECT brand.brand_id, brand.brand_name, brand.brand_type, ROUND(MAX(line_price),2) AS 'Highest AVG Price'
FROM (SELECT brand.brand_id, brand_name, brand_type, AVG(line_price) AS line_price FROM product, brand, line
WHERE product.prod_sku = line.prod_sku
AND product.brand_id = brand.brand_id
GROUP BY brand_id)w1, brand
WHERE w1.brand_id = brand.brand_id;
当我运行查询时,我得到了正确的值,但品牌名称和品牌id错误。我做错了什么

尝试使用连接:

SELECT b.brand_id, b.brand_name, b.brand_type, 
ROUND(MAX(line_price),2) AS 'Highest AVG Price' 
FROM product p JOIN brand b ON p.brand_id = b.brand_id 
JOIN line l ON l.prod_sku = p.prod_sku GROUP BY b.brand_id

如果问题仍然存在,请告诉我。

您能给出当前的
选择吗?对不起,我无法理解您所说的最高平均价格。您需要每个品牌或每个产品的平均价格吗?或者你需要最高平均产品价格的品牌?