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

Как да включа нула / 0 резултати в COUNT агрегат?

Искате външно присъединяване за това (и трябва да използвате person като маса за "шофиране")

SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM person 
  LEFT JOIN appointment ON person.person_id = appointment.person_id
GROUP BY person.person_id;

Причината, поради която това работи, е, че външното (ляво) присъединяване ще върне NULL за тези лица, които нямат уговорка. Агрегатната функция count() няма да отчита NULL стойности и по този начин ще получите нула.

Ако искате да научите повече за външните съединения, ето един хубав урок:http://sqlzoo.net/wiki/Using_Null



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. съхранявайте резултата от postgresql в bash променлива

  2. Моите любими разширения на PostgreSQL - втора част

  3. Защо Postgres казва, че колоната не съществува?

  4. Изчисляване на проценти със заявка GROUP BY

  5. Windows PSQL команден ред:има ли начин да се разреши влизане без парола?