Saya membuat sistem rujukan dari awal. Memiliki 2 tabel: "USERS" dan "PAYMENTS". Setiap baris dalam pembayaran adalah pembayaran individual untuk mungkin, pengguna yang sama.

Saya perlu menunjukkan asosiasi kami, berapa banyak referensi yang mereka miliki, berapa banyak yang ada dalam paket gratis, dan berapa banyak yang telah membayar langganan.

Saya telah melakukan ini untuk saat ini:

 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;

Ini adalah outputnya:

enter image description here

Seperti yang Anda lihat, user_id "1" telah membayar, dua kali, sejumlah $24.5. Saya membutuhkan ini dalam satu kolom untuk menunjukkan jumlah total yang dibayarkan ($49), dan dalam PHP membuat beberapa jenis persentase.

Ada tips?

0
Ayrton Scott 10 Juli 2020, 18:40

1 menjawab

Jawaban Terbaik

Agregasi cepat harus melakukan trik, menghapus kolom lain untuk memudahkan

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`
3
Mihai 10 Juli 2020, 15:51