Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Số lượng SQL từ bảng đã tham gia

left join s đang đưa vào các bảng có nhiều kết quả phù hợp với một id nhất định. Cách nhanh chóng và dễ dàng để sửa số lượng là sử dụng count(distinct) thay vì 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;

Một cách tiếp cận thay thế là tổng hợp các bảng trước khi kết hợp, thực hiện đếm trong truy vấn con.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thoát các truy vấn SQL thô trong Laravel 4

  2. Hàm đệ quy PHP để xóa tất cả các nút con gây ra stackoverflow

  3. Mysql AVG để bỏ qua số không

  4. Sử dụng LDAP (AD) để xác thực MySQL

  5. JDBC trả về số lượng hàng bị ảnh hưởng sai