SQL大神带你飞 | 24春招京东SQL真题解析-每个客户的账户总金额

每个客户的账户总金额

https://www.nowcoder.com/practice/19f0bc2b8cad44b6986ad9a51ed43def

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

题目分析

表结构

  • account 表:包含以下字段:
    • account_id:账户号,主键。
    • balance:账户余额。
    • customer_id:账户所属的客户号。

目标

  • 查询每个客户的账户总金额。

输出要求

  • 按照总金额从高到低排序。
  • 当总金额相等时,按 customer_id 升序排序。

知识点关键词

  • 聚合函数:SUM
  • 分组:GROUP BY
  • 排序:ORDER BY

解答步骤

1. 计算每个客户的账户总金额

我们需要使用 SUM 函数来计算每个客户的账户总金额。通过 GROUP BY 子句按 customer_id 分组。

select
    customer_id,
    sum(balance) as sum_balance
from
    account
group by
    customer_id
  • SUM(balance) AS sum_balance:计算每个客户的账户总金额。
  • GROUP BY customer_id:按客户ID分组。

2. 排序输出

我们需要按总金额降序排列,如果总金额相同,则按 customer_id 升序排列。

order by
    sum_balance desc,
    customer_id asc
  • ORDER BY sum_balance DESC:按总金额降序排列。
  • ORDER BY customer_id ASC:当总金额相同时,按客户ID升序排列。

完整代码

select
    customer_id,
    sum(balance) as sum_balance
from
    account
group by
    customer_id
order by
    sum_balance desc,
    customer_id asc;

近似题目推荐

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

    • 知识点:聚合函数、分组、排序
  2. 统计各等级会员用户下订单总额

    • 知识点:聚合函数、分组
  3. 分组计算练习题

    • 知识点:聚合函数、分组、排序
全部评论

相关推荐

哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务