집 >데이터 베이스 >MySQL 튜토리얼 >COALESCE를 사용하여 MySQL의 SUM 함수에서 null 값을 어떻게 처리합니까?
COALESCE를 사용하여 MySQL의 SUM 함수에서 Null 값을 처리하는 방법
MySQL에서 SUM 계산을 수행할 때 다음과 같은 시나리오를 처리하기 어려울 수 있습니다. 지정된 기준을 충족하는 값이 없으므로 NULL 출력이 발생합니다. 이 문제를 해결하기 위해 MySQL은 NULL 값이 있는 경우 기본 반환 값을 지정하는 편리한 방법을 제공하는 COALESCE 함수를 제공합니다.
다음 MySQL 함수를 고려하세요.
SELECT SUM(Column_1) FROM Table WHERE Column_2 = 'Test'
Column_2의 항목에 'Test'라는 텍스트가 포함되어 있지 않으면 이 함수는 NULL을 반환합니다. 그러나 값이 없으면 NULL 대신 0을 반환하는 것이 더 나은 경우도 있습니다.
이를 달성하려면 아래 설명과 같이 SUM 계산 내에서 COALESCE 함수를 활용할 수 있습니다.
SELECT COALESCE(SUM(column),0) FROM table WHERE ...
COALESCE 함수에서 기본값으로 0을 지정함으로써 SUM 계산의 모든 NULL 값을 0으로 효과적으로 대체하여 결과가 항상 정수(SUM 기준을 충족하는 값이 없더라도).
추가 정보
COALESCE 함수는 다목적이며 합계에서 NULL 값을 처리하는 것 외에도 다양한 시나리오에서 사용할 수 있습니다. 계산. 이는 누락되거나 불완전한 데이터에 대한 대체 값을 제공해야 하는 상황에서 특히 유용합니다.
COALESCE의 사용법과 이점을 더 자세히 설명하려면 다양한 데이터 유형을 사용하는 다음 예제 테이블을 고려하세요.
이러한 테이블의 값 합계를 계산하는 쿼리에 COALESCE 함수를 사용하면 null이 있어도 일관된 결과를 보장할 수 있습니다.
SELECT 'foo' as table_name, 'mixed null/non-null' as description, 21 as expected_sum, COALESCE(SUM(val), 0) as actual_sum FROM foo UNION ALL SELECT 'bar' as table_name, 'all non-null' as description, 21 as expected_sum, COALESCE(SUM(val), 0) as actual_sum FROM bar UNION ALL SELECT 'baz' as table_name, 'all null' as description, 0 as expected_sum, COALESCE(SUM(val), 0) as actual_sum FROM baz
이 쿼리의 결과는 다음과 같습니다. 다음은 다음과 같습니다.
TABLE_NAME | DESCRIPTION | EXPECTED_SUM | ACTUAL_SUM |
---|---|---|---|
foo | mixed null/non-null | 21 | 21 |
bar | all non-null | 21 | 21 |
baz | all null | 0 | 0 |
결과에서 알 수 있듯이 COALESCE는 모든 값이 NULL인 baz 테이블에 대해 SUM 계산이 항상 0을 반환하도록 보장하고 foo 및 bar 테이블에 대해 예상 합계 21을 제공합니다.
위 내용은 COALESCE를 사용하여 MySQL의 SUM 함수에서 null 값을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!