집 >데이터 베이스 >MySQL 튜토리얼 >모든 행을 포함하기 위해 GROUP BY 절의 NULL 값을 처리하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!