返回介绍

solution / 2300-2399 / 2372.Calculate the Influence of Each Salesperson / README

发布于 2024-06-17 01:03:07 字数 2996 浏览 0 评论 0 收藏 0

2372. 计算每个销售人员的影响力

English Version

题目描述

表: Salesperson

+----------------+---------+
| Column Name  | Type  |
+----------------+---------+
| salesperson_id | int   |
| name       | varchar |
+----------------+---------+
sales_person_id 包含唯一值。
这个表中的每一行都显示一个销售人员的 ID。

 

表:Customer

+----------------+------+
| Column Name  | Type |
+----------------+------+
| customer_id  | int  |
| salesperson_id | int  |
+----------------+------+
customer_id 包含唯一值。
salesperson_id 是一个来自于 Salesperson 表的外键
Customer 表中的每一行都显示了一个客户的 ID 和销售人员的 ID。

 

表:Sales

+-------------+------+
| Column Name | Type |
+-------------+------+
| sale_id   | int  |
| customer_id | int  |
| price     | int  |
+-------------+------+
sale_id 包含唯一值。
customer_id 是一个来自于 Customer 表的外键。
Sales 表中的每一行都显示了一个客户的 ID 以及他们在 sale_id 指代的交易中所支付的金额。

 

编写解决方案,报告每个销售人员的客户所支付的价格总和。如果销售人员没有任何客户,则总值应该为 0
任意顺序 返回结果表。
结果格式如下所示。

 

示例 1:

输入: 
Salesperson 表:
+----------------+-------+
| salesperson_id | name  |
+----------------+-------+
| 1        | Alice |
| 2        | Bob   |
| 3        | Jerry |
+----------------+-------+
Customer 表:
+-------------+----------------+
| customer_id | salesperson_id |
+-------------+----------------+
| 1       | 1        |
| 2       | 1        |
| 3       | 2        |
+-------------+----------------+
Sales 表:
+---------+-------------+-------+
| sale_id | customer_id | price |
+---------+-------------+-------+
| 1     | 2       | 892   |
| 2     | 1       | 354   |
| 3     | 3       | 988   |
| 4     | 3       | 856   |
+---------+-------------+-------+
输出: 
+----------------+-------+-------+
| salesperson_id | name  | total |
+----------------+-------+-------+
| 1        | Alice | 1246  |
| 2        | Bob   | 1844  |
| 3        | Jerry | 0   |
+----------------+-------+-------+
解释: 
Alice 是客户 1 和客户 2 的销售人员。
  - 客户 1 一次购买花费了 354。
  - 客户 2 一次购买花费了 892。
Alice 的总数是 354 + 892 = 1246。

Bob 是客户 3 的销售人员。
  - 客户 3 一次购买花费了 988,另一次购买花费了 856。
Bob 的总数是 988 + 856 = 1844。

Jerry 没有客户。
Jerry 的总数是 0。

解法

方法一

# Write your MySQL query statement below
SELECT sp.salesperson_id, name, IFNULL(SUM(price), 0) AS total
FROM
  Salesperson AS sp
  LEFT JOIN Customer AS c ON sp.salesperson_id = c.salesperson_id
  LEFT JOIN Sales AS s ON s.customer_id = c.customer_id
GROUP BY 1;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文