Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kembalikan hanya satu baris dari tabel paling kanan untuk setiap baris di tabel paling kiri

Gunakan:

  SELECT u.id,
         u.name,
         MIN(t.spent) AS spent
    FROM USERS u
    JOIN TRANSACTIONS t ON t.uid = u.id
GROUP BY u.id, u.name

Perhatikan bahwa ini hanya akan mengembalikan pengguna yang memiliki setidaknya satu catatan TRANSAKSI. Jika Anda ingin melihat pengguna yang tidak memiliki catatan pendukung serta mereka yang memiliki - gunakan:

   SELECT u.id,
          u.name,
          COALESCE(MIN(t.spent), 0) AS spent
     FROM USERS u
LEFT JOIN TRANSACTIONS t ON t.uid = u.id
 GROUP BY u.id, u.name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa Itu MySQL:Gambaran Umum

  2. Cara memecahkan masalah pendefinisi MySQL

  3. sql bergabung dengan dua tabel

  4. Koneksi MySQL VB.NET

  5. MySQL Nested Sets - Bagaimana menemukan induk dari simpul?