MySQL: Left Join, concat or sum, 不重复的行

MySQL: Left Join, concat or sum, unrepeated rows

我正在从头开始制作推荐系统。有 2 个表:“USERS”和“PAYMENTS”。付款中的每一行可能是同一用户的单独付款。

我需要显示我们的相关人员,他们有多少推荐人,有多少人在免费计划中,有多少人已经付费订阅。

我现在已经完成了:

 SELECT u.user_id
      , u.email
      , u.package_id
      , u.date
      , u.package_expiration_date
      , u.country
      , u.utm_id
      , p.amount 
   FROM users u 
   LEFT 
   JOIN payments p
     ON p.user_id = u.user_id
  WHERE u.utm_id = 2;

这是输出:

如您所见,user_id“1”两次支付了 24.5 美元。 我需要在一个单独的列中显示支付的总金额($49),并且 PHP 中的某个百分比类型。

有什么建议吗?

快速聚合应该可以解决问题,为方便起见删除了其他列

SELECT 
   `users`.`user_id`, `users`.`email`,`users`.`utm_id`,
  SUM(payments.amount)  as total_sum
FROM `users`    
LEFT JOIN `payments` ON `payments`.`user_id` = `users`.`user_id`
WHERE `users`.`utm_id` = '2'
GROUP BY `users`.`user_id`, `users`.`email`