为了对每个产品的营销进行新的策划,需要统计2023年每个产品的销售情况。现有三个原始数据表格:customers(顾客)、products(产品)和orders(订单),其结构如下:
customers(顾客)
字段名 | 数据类型 | 说明 |
---|---|---|
customer_id(顾客ID) | 整数 | 顾客的唯一标识符 |
customer_name(顾客姓名) | 字符串(最大长度50) | 顾客的姓名 |
customer_email(顾客邮箱) | 字符串(最大长度50) | 顾客的电子邮箱地址 |
customer_age(顾客年龄) | 整数 | 顾客的年龄 |
PRIMARY KEY (customer_id) | - | 将customer_id设置为主键,确保每个顾客ID的唯一性。 |
字段名 | 数据类型 | 说明 |
---|---|---|
product_id(产品ID) | 整数 | 产品的唯一标识符 |
product_name(产品名称) | 字符串(最大长度50) | 产品的名称 |
unit_price(单价) | 十进制数(保留两位小数) | 产品的单价 |
PRIMARY KEY (product_id) | - | 将product_id设置为主键,确保每个产品ID的唯一性。 |
字段名 | 数据类型 | 说明 |
---|---|---|
order_id(订单ID) | 整数 | 订单的唯一标识符 |
customer_id(顾客ID) | 整数 |
顾客的ID,对应customers 表格中的customer_id
|
product_id(产品ID) | 整数 |
产品的ID,对应products 表格中的product_id
|
quantity(数量) | 整数 | 产品的数量 |
order_date(订单日期) | 日期 | 订单的日期 |
PRIMARY KEY (order_id) | - | 将order_id设置为主键,确保每个订单ID的唯一性。 |
查询要求
根据上述表格,查询2023年每个产品的以下信息:
-
产品ID(
product_id
):产品的ID。 -
总销售额(
total_sales
):该产品的2023年总销售额。 -
单价(
unit_price
):产品的单价。 -
总销量(
total_quantity
):该产品的2023年总销售数量。 -
月平均销售额(
avg_monthly_sales
):2023年该产品的月均销售额。 -
单月最高销量(
max_monthly_quantity
):2023年该产品的最大月销售数量。 -
购买量最多的客户年龄段(
customer_age_group
):2023年购买该产品数量最多的顾客的年龄段(1-10,11-20,21-30,31-40,41-50,51-60,61+)
排序规则
- 按照每个产品的总销售额降序排列。
- 如果总销售额一致,则按照产品的ID升序排列。
-
当存在两个客户年购买量都是最高时,
customer_age_group
展示年龄小的顾客的年龄段。
计算说明
- 总销售额 = 总销量 × 单价
- 月平均销售额 = 总销售额 / 12
- 所有计算结果保留两位小数。
【示例】
customers(顾客)表格
products(产品)表格
orders(订单)表格
按要求查询出来的结果
示例说明
假设产品104的2023年销售总量是6,单价是120.00,则:
- 总销售额 = 6 × 120 = 720.00
- 月平均销售额 = 720 / 12 = 60.00
- 购买量最大的客户ID是2的Bob,年龄是30,所在年龄段是21-30。