最近做了京东的24年春招题,题目如下:

alt

题目分析

本题要求统计每个行业的总销售额,并按总销售额降序、行业名称升序输出。
输出字段

  • industry(行业名称)
  • total_sales_amount(总销售额)

输出顺序

  • 先按总销售额降序(total_sales_amount desc)
  • 若总销售额相同,则按行业名称升序(industry asc)

涉及知识点

  • SQL 多表连接(JOIN)
  • 分组聚合(SUM、GROUP BY)
  • 字段别名
  • 多条件排序(ORDER BY)

解答步骤

1. 关联商家与销售表

  • merchants_underline 商家表与 sales_underline 销售表通过商家ID(merchant_id)连接,获取每笔销售对应的行业。
from merchants_underline m
join sales_underline s on m.merchant_id = s.merchant_id

2. 按行业分组统计总销售额

  • 按行业(industry)分组,统计每个行业的总销售额(sum(s.sale_amount))。
group by m.industry

3. 排序输出

  • 按总销售额降序,若相同则按行业名称升序排序。
order by total_sales_amount desc, industry asc

完整代码

select m.industry,
sum(s.sale_amount) as total_sales_amount
from merchants_underline m
join sales_underline s on m.merchant_id = s.merchant_id
group by m.industry
order by total_sales_amount desc, industry asc

近似题目练习推荐

获取指定客户每月的消费额

  • 知识点:SQL连接、聚合函数、分组、日期函数

如需更多类似题目,可在牛客网SQL练习区进行练习。