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

MySQL - Menghitung baris dan masalah gabungan kiri

Saya akan memilih sesuatu seperti:

SELECT 
    c.id AS campaign_id, 
    COUNT(cc.id) AS code_count
FROM 
    campaigns c
LEFT JOIN campaign_codes cc on cc.campaign_id = c.id
AND cc.status = 0 -- Having this clause in the WHERE, effectively makes this an INNER JOIN
WHERE c.partner_id = 4
GROUP BY c.id

Memindahkan AND ke klausa join membuat join berhasil atau gagal, yang terpenting menjaga baris yang dihasilkan di mana tidak ada baris yang cocok di tabel 'kanan'.

Jika berada di WHERE , perbandingan dengan NULL (di mana tidak ada campaign_code) akan gagal, dan dieliminasi dari hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. node.js + penyatuan koneksi mysql

  2. menyimpan jumlah uang di mysql

  3. Basis Data Default MySQL

  4. pastikan bahwa hasil metode pengambilan PDO salah adalah kesalahan atau hasil kosong

  5. mysql pilih untuk mengembalikan kosong untuk semua kecuali baris pertama dari kolom berulang