> 데이터 베이스 > MySQL 튜토리얼 > COUNT(*) 대 COUNT(column_name): MySQL에서 언제 which를 사용해야 합니까?

COUNT(*) 대 COUNT(column_name): MySQL에서 언제 which를 사용해야 합니까?

DDD
풀어 주다: 2024-11-27 14:29:11
원래의
948명이 탐색했습니다.

COUNT(*) vs COUNT(column_name): When Should You Use Which in MySQL?

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿