求平均标价最高的前三品牌与分类的SQL查询协助
解决方案
前提假设
由于未提供完整表结构,以下查询基于常见的表关联逻辑假设:
products表包含字段:price(标价)、brand_id(品牌外键)、category_id(分类外键)brands表包含字段:id(主键)、brand_name(品牌名称)categories表包含字段:id(主键)、category_name(分类名称)
1. 查询平均标价最高的三个品牌
SELECT b.brand_name, AVG(p.price) AS average_price FROM products p JOIN brands b ON p.brand_id = b.id GROUP BY b.id, b.brand_name ORDER BY average_price DESC LIMIT 3;
2. 查询平均标价最高的三个分类
SELECT c.category_name, AVG(p.price) AS average_price FROM products p JOIN categories c ON p.category_id = c.id GROUP BY c.id, c.category_name ORDER BY average_price DESC LIMIT 3;
说明
- 使用
JOIN关联产品表与品牌/分类表,确保只统计有对应品牌/分类的产品 AVG(p.price)计算每个品牌/分类的平均标价GROUP BY按品牌/分类的主键和名称分组,避免同名称不同ID的重复统计问题ORDER BY ... DESC按平均标价降序排列,LIMIT 3筛选出排名前三的结果
内容的提问来源于stack exchange,提问作者soheb_kh
相关产品推荐
相关产品推荐

