【发布时间】:2021-09-06 05:05:29
【问题描述】:
我是这个社区的新手,也是 MySQL 的新手。
需要COUNT客户端和SUM每个referrer的佣金分别使用MySQL查询。
推荐人表
| id | referrer_name |
|---|---|
| 1 | referre1 |
| 2 | referre2 |
| 3 | referre3 |
| 4 | referre4 |
客户表
| id | referrer_id | client_name |
|---|---|---|
| 1 | 1 | client1 |
| 2 | 1 | client2 |
| 3 | 2 | client3 |
| 4 | 3 | client4 |
| 5 | 4 | client5 |
佣金表
| id | client_id | commission |
|---|---|---|
| 1 | 1 | 20 |
| 2 | 1 | 32 |
| 3 | 3 | 24 |
| 4 | 4 | 15 |
我想使用以上 3 个表格实现以下输出。
| referrer_id | referrer_name | total_client | total_commission |
|---|---|---|---|
| 1 | referre1 | 2 | 52 |
| 2 | referre2 | 1 | 24 |
| 3 | referre3 | 1 | 15 |
| 4 | referre4 | 1 | 0 |
我尝试了以下查询
SELECT referrer.referrer_name as name,
(SELECT COUNT(*) FROM client WHERE client.referrer_id=referrer.id) as total_client,
(SELECT SUM(commission) FROM commission WHERE commission.client_id=client.id) as total_commission FROM referrer LEFT JOIN client ON client.referrer_id=referrer.id GROUP BY name;
【问题讨论】:
-
请在提问前学习并做一些研究,我们不是来为你解决你的作业的,如果你在做这件事的过程中遇到困难,我们可以帮助你,但只是要求你解决你的作业无论如何都帮不了你。
-
原因就在你的评论上面。
-
这是作业吗,这是问题,您没有解决方案。所以在这里提出有用的理由。
-
您是否尝试过解决它?这样做有什么错误吗?
-
当然,我从 12 小时开始尝试,我使用 php codeigniter 3。它不显示,有时它为每个引荐来源计算相同的客户端,有时只计算零。
标签: mysql phpmyadmin