집 >데이터 베이스 >MySQL 튜토리얼 >SQL 집계 함수는 어떻게 NULL 값이 있는 여러 행을 단일 행으로 병합할 수 있습니까?
아래 표시된 데이터가 있는 테이블을 고려하세요.
FK | Field1 | Field2 |
---|---|---|
3 | ABC | NULL |
3 | NULL | DEF |
목표는 이러한 행을 단일 행으로 결합하는 SELECT 작업:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
집계 함수를 사용하면 NULL 값을 무시하고 일치하는 여러 행에서 NULL이 아닌 값을 결합할 수 있습니다. 다음은 이 접근 방식을 보여주는 쿼리입니다.
SELECT FK, MAX(Field1) AS Field1, MAX(Field2) AS Field2 FROM table1 GROUP BY FK;
이 쿼리에서는 MAX 집계 함수를 사용하여 FK로 그룹화된 행에서 Field1 및 Field2의 최대값을 선택합니다. NULL 값은 집계 함수에 의해 무시되므로 NULL이 아닌 값만 결합됩니다.
제공된 테스트 데이터 사용:
CREATE TABLE table1 (FK int, Field1 varchar(10), Field2 varchar(10)); INSERT INTO table1 VALUES (3, 'ABC', NULL); INSERT INTO table1 VALUES (3, NULL, 'DEF'); INSERT INTO table1 VALUES (4, 'GHI', NULL); INSERT INTO table1 VALUES (4, 'JKL', 'MNO'); INSERT INTO table1 VALUES (4, NULL, 'PQR');
쿼리로 원하는 결과가 나옵니다.
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
4 | JKL | PQR |
위 내용은 SQL 집계 함수는 어떻게 NULL 값이 있는 여러 행을 단일 행으로 병합할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!