일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- 개발자 이야기
- RSocket
- pdo
- node.js
- webflux
- SQL
- build tool
- jquery
- JavaFX
- angularjs
- Python
- Ajax
- mybatis
- SQLite
- 일본
- gradle
- Java
- php
- WebClient
- bootstrap
- xml
- 외국인 노동자
- javadoc
- swift
- spring boot
- Spring
- maven
- Eclipse
- Apache
- Linux
- Today
- 123
- Total
- 3,697,220
슬기로운 개발자 생활
[SQLite] 함수 - 컬럼 또는 전체 테이블의 행수 구하기 (count 함수) 본문
SQLite3는 합계 및 날짜 등에 대한 유용한 함수가 준비되어 있다. 여기에서는 SQLite3에서 제공되는 함수의 사용법을 예제를 사용하면서 설명한다.
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 절)를 참조한다.
'IT 개발 > SQLite' 카테고리의 다른 글
[SQLite] 함수 - 컬럼 값의 평균값 구하기 (avg 함수) (0) | 2019.11.19 |
---|---|
[SQLite] 함수 - 컬럼 값의 합계 구하기 (sum 함수, total 함수) (0) | 2019.11.19 |
[SQLite] 명령어 - 데이터베이스 백업 및 복원 (.backup 명령/.restore 명령) (0) | 2019.11.15 |
[SQLite] 명령어 - SELECT 문의 실행 결과를 파일로 출력 (.output 명령) (0) | 2019.11.15 |
[SQLite] 명령어 - 덤프를 가져와서 데이터베이스 재구축 (.read 명령) (0) | 2019.11.15 |
- Tag
- SQLite