SQLite | SQLite 함수 | 컬럼 또는 전체 테이블의 행수 구하기 (count 함수)
count 함수를 사용하면 지정된 컬럼 또는 테이블에 저장된 데이터의 행수를 계산 할 수 있다. 여기서 count 함수의 사용법에 대해 설명한다.
count 함수 사용법
count 함수는 행수를 받아오는 데 사용한다. 형식은 다음과 같다.
count(컬럼명)
인수에는 컬럼명 또는 별표(*)를 지정한다. 컬럼명을 지정한 경우에는 컬럼에 저장된 값 중 NULL 데이터를 제외한 행 수를 돌려준다. 별표(*)를 지정한 경우에는 테이블의 행 수를 돌려준다. GROUP BY 절을 사용하는 경우에는 그룹별로 행 수를 돌려준다.
–
그러면 실습으로 행수를 구해 보도록 하겠다. 먼저 다음과 같이 테이블을 만든다.
create table user (id integer, name text, address text, gender text);
sqlite> create table user (id integer, name text, address text, gender text);
sqlite>
INSERT 문을 사용하여 다음과 같이 데이터 추가한다.
insert into user values (1, 'devkuma', 'Seoul', 'Man');
insert into user values (2, 'kimkc', 'Busan', 'Woman');
insert into user values (3, 'arikuma', 'Suwan', 'Man');
insert into user values (4, 'happykuma', NULL, 'Man');
insert into user values (5, 'raccoon', 'Seoul', 'Woman');
sqlite> insert into user values (1, 'devkuma', 'Seoul', 'Man');
sqlite> insert into user values (2, 'kimkc', 'Busan', 'Woman');
sqlite> insert into user values (3, 'arikuma', 'Suwan', 'Man');
sqlite> insert into user values (4, 'happykuma', NULL, 'Man');
sqlite> insert into user values (5, 'raccoon', 'Seoul', 'Woman');
sqlite>
그러면 count 함수를 사용하여 name 컬럼과 address 컬럼의 행수를 구해 본다.
select count(name), count(address) from user;
sqlite> select count(name), count(address) from user;
5|4
sqlite>
address 컬럼에는 NULL이 들어간 데이터는 하나가 행 수에 포함되지 않기에 name 컬럼의 행 수가 1개 더 많다.
이어서 전체 테이블의 행수를 구해 본다.
select count(*) from user;
sqlite> select count(*) from user;
5
sqlite>
테이블에 저장된 데이터의 행수를 구했다. 만약 모든 컬럼 값이 NULL 인 데이터가 있어도 다른 데이터와 동일하게 행 수에 포함된다.
마지막으로 gender 컬럼마다 그룹화하여 행수를 구해 본다.
select gender, count(*) from user group by gender;
sqlite> select gender, count(*) from user group by gender;
Man|3
Woman|2
sqlite>
GROUP BY 절을 사용하여 그룹화 한 경우에는 그룹 단위로 행 수를 계산한다. Group By 절에 대해서는 데이터를 그룹화하여 합계와 평균을 계산 (GROUP BY 절, HAVING 절)를 참조한다.
최종 수정 : 2019-11-13