Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL Count от обединена таблица

Вашето left join s въвеждат таблици, които имат множество съвпадения за даден идентификатор. Бързият и лесен начин да коригирате броя е да използвате count(distinct) вместо 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;

Алтернативен подход е агрегирането на таблиците преди присъединяването, извършване на преброяването в подзаявката.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа изображение от база данни с помощта на php

  2. SQL / MySQL - Подреждане по дължина на колоната

  3. Как да получа моята забравена парола за MySQL от MySQL Workbench на macOS?

  4. Заявка за получаване на родителски записи с дъщерни записи, последвани от следващи записи родител-дете в mysql

  5. Избиране на записи между две дати