>데이터 베이스 >MySQL 튜토리얼 >집계 함수를 사용하여 SQL에서 행을 NULL 값과 결합하는 방법은 무엇입니까?

집계 함수를 사용하여 SQL에서 행을 NULL 값과 결합하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-26 10:17:10902검색

How to Combine Rows with NULL Values in SQL Using Aggregate Functions?

SQL에서 행을 병합하는 방법

질문:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.