SQLite 실습 - 실제데이터 다루기 3

Soogyung Gwon·2026년 2월 21일

구름을잡아라

목록 보기
21/60

첫번째 레코드 조회

select species_code, catch_location, device_info_serial, sex, scientific_name, ring_code, bird_name
from bird_tracking_devices
where rowid = 1

device_info_serial의 값이 851인 레코드를 조회

select
sex 성별,
scientific_name 학명,
bird_name 이름,
tracking_started_at 추적시작일시,
tracking_ended_at 추적종료일시
from bird_tracking_devices
where device_info_serial = 851;

총 디바이스 개수 세기

select
count(*) 총건수,
count(distinct device_info_serial) 추적장치개수
from bird_tracking

특정 디바이스 (특정 새) 개수 세기

select count(*) 건수
from bird_tracking
where device_info_serial = 851;

월별 건수 세기

(SQL 함수 substr 사용)

select
device_info_serial 추적장치일련번호,
substr(date_time, 1, 7) 년월,
count(*) 건수
from bird_tracking
group by 추적장치일련번호, 년월
order by 추적장치일련번호, 년월

연습문제

device_info_serial 컬럼 대신, bird_tracking_devices에 있는 bird_name의 내용이 나타나도록 집계해보라.

SELECT 
    bird_tracking_devices.bird_name 새이름,
    substr(bird_tracking.date_time, 1, 7) 년월,
    count(*) 건수
FROM bird_tracking
INNER JOIN bird_tracking_devices 
    ON bird_tracking.device_info_serial = bird_tracking_devices.device_info_serial
GROUP BY 
    bird_tracking.device_info_serial,
    bird_tracking_devices.bird_name,
    substr(bird_tracking.date_time,1,7);

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글