COUNT(*) 대 COUNT(column_name): MySQL의 차이점 이해
MySQL에서 COUNT() 함수는 편리한 결과 집합의 행 수를 계산하는 방법입니다. 그러나 이 함수에는 서로 다른 결과를 초래할 수 있는 두 가지 변형인 COUNT(*)와 COUNT(column_name)가 있습니다. 정확한 데이터 집계 및 최적화를 위해서는 이 두 변형 간의 차이점을 이해하는 것이 중요합니다.
COUNT(*): NULL 값에 관계없이 행 계산
COUNT( )는 결과 집합의 모든 행을 단순히 계산하는 간단한 함수입니다. 여기에는 모든 열에 대해 NULL 값이 포함될 수 있는 행이 포함됩니다. 즉, COUNT()는 데이터 내용에 관계없이 모든 레코드의 총 개수를 제공합니다.
COUNT(column_name): 특정 열에서 NULL이 아닌 값 계산
COUNT()와 달리 COUNT(column_name)는 지정된 열에서 NULL이 아닌 값을 구체적으로 계산합니다. 열. 이 함수에는 column_name 값이 null이 아닌 행만 포함됩니다. 따라서 해당 열에 NULL 값이 있는 경우 COUNT(column_name)는 COUNT()보다 낮은 개수를 반환할 수 있습니다.
예: 차이 입증
차이점을 설명하려면 다음 표를 고려하세요.
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL);
다음 실행 쿼리:
SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1;
다음 결과가 나타납니다.
a b c 3 2 3
이 시나리오에서 COUNT()(열 "a")는 세 행을 모두 계산하므로 3을 반환합니다. "x" 열에 NULL 값이 있는 항목도 포함됩니다. 반면 COUNT(x)(열 "b")는 열 "x"에 NULL이 아닌 값이 있는 행만 계산하므로 2를 반환합니다. COUNT()와 동일한 COUNT(1)(열 "c")도 3을 반환합니다.
COUNT(*)와 COUNT(열 이름)의 차이점을 이해하면 효과적으로 다음을 수행할 수 있습니다. MySQL 쿼리의 데이터를 집계하고 분석합니다.
위 내용은 COUNT(*) 대 COUNT(column_name): MySQL에서 언제 which를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!