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

Hitung SQL dari tabel yang digabungkan

left join s membawa tabel yang memiliki banyak kecocokan untuk id yang diberikan. Cara cepat dan mudah untuk memperbaiki hitungan adalah dengan menggunakan count(distinct) bukannya count() :

SELECT l.id, l.naam, beschrijving,
       count(distinct c.lijst_id) as aantal_cat, count(distinct wl.lijst_id) as aantal_lijst
FROM lijsten l
LEFT JOIN werknemerlijsten wl ON l.id = wl.lijst_id
LEFT JOIN categorieen c ON l.id = c.lijst_id
GROUP BY l.naam
ORDER BY naam;

Pendekatan alternatif adalah menggabungkan tabel sebelum bergabung, melakukan penghitungan di subkueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus baris duplikat dari tabel dengan bergabung

  2. Pernyataan SELECT tidak menggunakan kemungkinan_kunci

  3. Replikasi Microsoft SQL ke database lain

  4. Enkripsi kata sandi dalam pernyataan penyisipan di postgresql menimbulkan kesalahan (Perlu menambahkan pemeran tipe eksplisit)

  5. Kiri Gabung ke rekaman terbaru