SQL 刷题/【阿里巴巴】查询各类别高利润商品销售 Top3
上一题下一题中等通过率 12%

【阿里巴巴】查询各类别高利润商品销售 Top3

WHERE 条件JOIN 连接窗口函数CASE WHENORDER BY营收统计排行榜面试真题

题目描述

来源:阿里巴巴 SQL 面试真题

电商平台需要评估商品的销售绩效和利润贡献,请找出各商品类别中利润率超过 20% 且销售金额排名前三的商品。

数据表

product_category 商品类别表

字段类型说明
product_idINT商品 ID,主键
category_idINT商品所属类别 ID
product_nameVARCHAR(100)商品名称

sales_and_profit 销售与利润表

字段类型说明
product_idINT商品 ID
sales_amountDECIMAL(10,2)销售金额
cost_amountDECIMAL(10,2)成本金额

统计口径

  • 利润率 = (sales_amount - cost_amount) / sales_amount。
  • 只保留销售金额大于 0 且利润率严格大于 20% 的商品。
  • 在每个 category_id 内,对符合利润率条件的商品按 sales_amount 降序、product_id 升序编号,取前 3 名。
  • 结果按 category_id 升序、sales_amount 降序、product_id 升序排列。
  • 销售金额相同的商品按 product_id 升序决定先后,因此每个类别最多返回 3 条。

期望输出列

列名说明
product_id商品 ID
product_name商品名称
category_id类别 ID
sales_amount销售金额
profit_rate利润率

数据样例

当前运行环境
product_idPKINTcategory_idINTproduct_nameVARCHAR(100)
110电子商品A
210电子商品B
310电子商品C
410电子商品D
520服装商品A
620服装商品B
720服装商品C
820服装商品D
输入数据显示 8 / 9
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里