SQL에서 NULL 값을 사용하여 데이터 그룹화
GROUP BY 함수를 사용하여 데이터를 그룹화하는 것은 데이터를 요약하고 검색하는 강력한 기술입니다. 그러나 NULL 값을 무시하면서 데이터를 그룹화하는 것이 바람직한 경우도 있습니다. 이는 GROUP BY 절을 교묘하게 조작하여 달성할 수 있습니다.
주어진 쿼리에서 GROUP BY는 상위 필드를 기준으로 행을 그룹화하는 데 사용됩니다. 그러나 여러 행에 대해 조상이 NULL인 경우 함께 그룹화되어 하나의 행만 반환됩니다. 이 문제를 극복하기 위해 IFNULL 함수와 관련된 트릭을 사용할 수 있습니다.
다음과 같이 쿼리를 수정할 수 있습니다.
SELECT `table1`.*, IFNULL(ancestor,UUID()) as unq_ancestor GROUP_CONCAT(id SEPARATOR ',') AS `children_ids` FROM `table1` WHERE (enabled = 1) GROUP BY unq_ancestor
이 수정된 쿼리에서는 IFNULL을 사용하여 고유한 식별자(UUID)를 조상 필드의 NULL 값으로 바꿉니다. 그러면 그룹화에 사용되는 unq_ancestor라는 고유한 열이 생성됩니다. 결과적으로, 조상 값이 NULL인 행을 포함한 모든 행이 별도로 그룹화되어 원하는 데이터를 모두 검색할 수 있습니다.
위 내용은 `GROUP BY` 절에서 NULL 값을 처리하는 동안 SQL 데이터를 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!