Mysql Соединение, подсчет и сумма? - PullRequest
0 голосов
/ 17 июня 2020

таблица кампании - это товар для продажи, а в таблице транзакций - проданный товар. Я хочу подсчитать transaction_id, которые составляют таблицу транзакций, и суммировать общую сумму проданных товаров .. но таблица отличается ..

Вот что я пробовал:

$uid = $_GET['uid'];

$query = "
  SELECT
    transaction.*, 
    count(*) AS transaction.transaction_id,
    sum(*) AS campaign.payout 
  FROM transaction 
  JOIN transaction.c_id=campaign.c_id 
  GROUP_BY c_id 
  WHERE uid=$uid AND DATE(dateTime)=DATE(NOW())";

$result = mysqli_query($conn, $query);

while ($row = mysqli_fetch_assoc($result))

{$transaction_id = $row['transaction_id'];
 $payout = $row['payout'];}  
echo "payment: [".$payout."] transaction: [".$transaction_id."]";

таблица кампании :

    ------------------------
    |c_id | c_name | payout| 
    -----------------------
    |  1  | c_n1   | 100   |
    |  2  | c_n2   | 200   |
    |  3  | c_n3   | 300   |
    ------------------------

таблица транзакций:

--------------------------------
|transaction_id | c_id | valid | 
--------------------------------
|  12325sdfsf3  | 1    | 1     |
|  324ssggsgs3  | 1    | 1     |
|  f2fs33fs3sg  | 3    | 1     |
--------------------------------

1 Ответ

0 голосов
/ 17 июня 2020

Чтобы получить общую выплату по всем транзакциям, вам необходимо выполнить соединение. Например:

select
  count(*) as total_count,
  sum(c.payout) as total_payout
from transaction t
join campaign c on c.c_id = t.c_id

Функция SUM() суммирует все значения из столбца payout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...