我有3张 table ,交易,俱乐部和客户,一个俱乐部只能有一名销售员,每个客户只能属于在一个俱乐部中,客户在交易表中进行付款。
我正在尝试获取所有推销员的列表、每个俱乐部的付款次数以及特定日期每个俱乐部的付款总额。
我只得到一行,其中包含第一个推销员,以及每个人的总计,不知道如何获取每一行以及每个推销员的总计。感谢您的时间。
+--------------------------------------------+
| transactions |
+--------------------------------------------+
| id_transaction | date | amount | client_id |
+----------------+------+--------+-----------+
+------------------------------+
| clients |
+------------------------------+
| id_client | name | club_name |
+-----------+------+-----------+
+-----------------------------------+
| clubs |
+-----------------------------------+
| id_club | name_club | name_seller |
+---------+-----------+-------------+
SELECT
transactions.amount,
clients.id_client,
clubs.club_name,
club.name_seller,
SUM(transactions.amount) AS sum_amount,
COUNT(transactions.amount) AS count_amount,
club.name_seller AS salesman
FROM transactions, members, clubs
WHERE transactions.date = '$date'
AND clients.id_client = transactions.client_id
AND client.club_name = clubs.name_club
<th>Salesman</th>
<th>Club Name</th>
<th>Number of Transactions</th>
<th>Total amount</th>
$output.='<td>'.$row['salesman'].'</td>';
$output.='<td>'.$row['club_name'].'</td>';
$output.='<td>'.$row['COUNT(amount)'].'</td>';
$output.='<td>'.$row['SUM(amount)'].'</td>';
这就是我正在尝试的,示例:
Salesman - Club name - Number of Transactions - Total amount
Bill - TennisClub - 5 - 5000 Bill - Golf Club - 7 - 7000 Joe - Pool Cub - 2 - 2000
最佳答案
您必须在查询中使用Group By语句(如果您想要基于销售人员,您可以输入销售人员ID)
我认为,您在发布问题之前已经更改了表结构名称。所以,我无法理解主键和外键。
关于php - 从同一行的不同表中选择 SUM 和 COUNT,PHP 和 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286555/