집 >데이터 베이스 >MySQL 튜토리얼 >집계 함수를 사용하여 SQL에서 행을 NULL 값과 결합하는 방법은 무엇입니까?
질문:
FK 열이 있는 데이터베이스 테이블이 있는 시나리오를 상상해 보세요. , 필드1 및 필드2. 테이블은 다음과 같은 데이터로 구성됩니다.
FK | Field1 | Field2 |
---|---|---|
3 | ABC | NULL |
3 | NULL | DEF |
이 두 행을 하나로 결합하는 쿼리를 수행하여 다음 출력을 생성하려고 합니다.
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
답변:
MAX와 같은 집계 함수를 활용하여 이러한 데이터 병합을 수행할 수 있습니다. SQL Server, Oracle 및 Jet/Access와 같은 플랫폼에서는 본질적으로 NULL 값을 무시합니다. 다음은 MAX 함수를 사용하는 샘플 쿼리입니다.
SELECT FK, MAX(Field1) AS Field1, MAX(Field2) AS Field2 FROM table1 GROUP BY FK;
이 쿼리에서는 FK 열을 기준으로 행을 그룹화하고 MAX 함수를 사용하여 다른 각 열(Field1 및 필드2). NULL 값은 무시되므로 NULL이 아닌 값(ABC 및 DEF)이 병합된 행에 반환됩니다.
테스트 데이터의 예는 다음과 같습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!