>데이터 베이스 >MySQL 튜토리얼 >SQL COUNT 집계에 제로 약속 결과를 어떻게 포함할 수 있습니까?

SQL COUNT 집계에 제로 약속 결과를 어떻게 포함할 수 있습니까?

DDD
DDD원래의
2025-01-08 18:26:42923검색

How Can I Include Zero-Appointment Results in SQL COUNT Aggregations?

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을 반환합니다. COUNTNULL 값을 무시하고 해당 개인에 대한 약속이 없음을 정확하게 보고합니다.

이 접근 방식은 외부 조인의 작동 방식을 이해하는 데 달려 있습니다. LEFT JOIN는 오른쪽 테이블(person)에 일치하는 행이 없더라도 왼쪽 테이블(이 경우 appointment)의 모든 행이 포함되도록 보장합니다.

외부 조인 및 NULL 값 처리에 대해 자세히 알아보려면 다음과 같은 리소스를 참조하세요.

SQLZoo: NULL 작업

위 내용은 SQL COUNT 집계에 제로 약속 결과를 어떻게 포함할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.