집 >데이터 베이스 >MySQL 튜토리얼 >SQL COUNT 집계에 제로 약속 결과를 어떻게 포함할 수 있습니까?
SQL 집계에서 제로 약속 횟수 처리
표준 SQL COUNT
집계에서는 약속이 없는 개인을 놓칠 수 있습니다. 해결 방법은 외부 조인을 사용하여 이러한 0개 항목을 포함하는 것입니다.
설명해 보겠습니다.
이 쿼리는 1인당 약속 수를 계산하지만 약속이 없는 약속은 생략합니다.
<code class="language-sql">SELECT person_id, COUNT(person_id) AS appointment_count FROM appointment GROUP BY person_id;</code>
약속이 없는 개인을 포함하려면 LEFT JOIN
테이블을 구동 테이블로 사용하여 person
를 사용하세요.
<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS appointment_count FROM person p LEFT JOIN appointment a ON p.person_id = a.person_id GROUP BY p.person_id;</code>
이 LEFT JOIN
는 약속이 없는 NULL
에 대해 appointment.person_id
을 반환합니다. COUNT
은 NULL
값을 무시하고 해당 개인에 대한 약속이 없음을 정확하게 보고합니다.
이 접근 방식은 외부 조인의 작동 방식을 이해하는 데 달려 있습니다. LEFT JOIN
는 오른쪽 테이블(person
)에 일치하는 행이 없더라도 왼쪽 테이블(이 경우 appointment
)의 모든 행이 포함되도록 보장합니다.
외부 조인 및 NULL
값 처리에 대해 자세히 알아보려면 다음과 같은 리소스를 참조하세요.
위 내용은 SQL COUNT 집계에 제로 약속 결과를 어떻게 포함할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!