> 데이터 베이스 > MySQL 튜토리얼 > 모든 행을 포함하기 위해 GROUP BY 절의 NULL 값을 처리하는 방법은 무엇입니까?

모든 행을 포함하기 위해 GROUP BY 절의 NULL 값을 처리하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-15 13:12:17
원래의
552명이 탐색했습니다.

How to Handle NULL Values in GROUP BY Clauses to Include All Rows?

GROUP BY Null 처리

GROUP BY를 활용하여 데이터를 집계하는 경우 NULL 값을 처리하는 방법을 고려하는 것이 중요합니다. 기본적으로 NULL 값은 함께 그룹화되어 누락된 값이 있는 행을 제외할 수 있습니다.

이 시나리오에서는 조상 필드를 기준으로 행을 그룹화하고 조상이 NULL인 행을 포함하려고 합니다. 이를 달성하려면 해결 방법을 활용할 수 있습니다.

SELECT `table1`.*,
    IFNULL(ancestor, UUID()) AS `unq_ancestor`,
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1`
WHERE (enabled = 1)
GROUP BY `unq_ancestor`;
로그인 후 복사

UUID() 함수는 NULL 조상 값이 있는 각 행에 대해 고유 식별자를 생성합니다. 이렇게 하면 NULL 조상이 있는 행에 고유 식별자가 할당되어 함께 그룹화되는 것을 방지할 수 있습니다.

GROUP BY 절에서 조상 필드를 unq_ancestor로 바꾸면 쿼리는 이제 고유 식별자를 기준으로 행을 그룹화합니다. NULL 값의 경우 모든 행이 결과 세트에 포함됩니다.

위 내용은 모든 행을 포함하기 위해 GROUP BY 절의 NULL 값을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿