最近做了京东的24年春招题,题目如下:
题目分析
本题要求统计每个行业的总销售额,并按总销售额降序、行业名称升序输出。
输出字段:
- 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练习区进行练习。