查询销售件数高于品类平均数的商品:从订单明细表(order_detail)和商品信息表(sku_info)中查询累积销售件数高于其所属品类平均数的商品,期望输出结果字段如下: sku_id name sum_num cate_avg_num min_sum max_sum
时间: 2024-12-15 07:22:33 浏览: 5
电商项目商品规格参数表设计SKU和SPU表设计
为了完成这个需求,我们需要执行两个步骤:
1. 计算每个商品所在品类的平均销售件数(cate_avg_num)
2. 在订单明细表中找出那些销售件数(sum_num)大于品类平均数的商品
首先,我们需要编写SQL查询来获取每个品类的平均销售件数。假设`order_detail`表有`sku_id`和`num_sold`字段,分别表示商品ID和销售件数;`sku_info`表有`category_id`字段,表示商品类别。我们可以使用以下查询来计算平均值:
```sql
SELECT category_id, AVG(num_sold) as cate_avg_num
FROM order_detail
GROUP BY category_id;
```
然后,我们结合这两个表并过滤出符合条件的商品:
```sql
SELECT od.sku_id, si.name, od.sum_num, ai.cate_avg_num
FROM order_detail od
JOIN sku_info si ON od.sku_id = si.sku_id
JOIN (
SELECT category_id, AVG(num_sold) as cate_avg_num
FROM order_detail
GROUP BY category_id
) ai ON od.category_id = ai.category_id
WHERE od.num_sold > ai.cate_avg_num;
```
这个查询的结果包含了`sku_id`, `name`, `sum_num`, 和每个`sku_id`对应的`cate_avg_num`,并且只包含销售件数超过平均值的商品。
阅读全文