1. 문제 목적
날짜 데이터에서 연도를 추출하여 특정 연도에 해당하는 데이터를 필터링하고 COUNT 함수로 조건에 맞는 행의 개수를 계산하는 기술을 익히는 데 목적이 있습니다.
2. 핵심 개념
2.1 WHERE 절
- 정의: 특정 조건에 맞는 데이터를 필터링하는 데 사용됩니다.
SELECT 열이름
FROM 테이블이름
WHERE 조건;
- 예: WHERE YEAR(TIME) = 2021는 TIME 열에서 연도가 2021인 데이터를 필터링합니다.
2.2 YEAR 함수
- 정의: 날짜 데이터에서 연도 값을 추출하는 함수입니다.
SELECT YEAR('2021-12-04'); -- 결과: 2021
- 날짜 열에서 연도를 추출해 조건으로 사용할 수 있습니다.
2.3 COUNT 함수
- 정의: 조건에 맞는 데이터의 행 개수를 반환합니다.
SELECT COUNT(*) AS FISH_COUNT
FROM 테이블이름
WHERE 조건;
- COUNT(*): 조건에 맞는 모든 행의 개수를 계산합니다.
2.4 집계 함수와 별칭(AS)
- 정의: 집계 함수의 결과에 별칭을 부여하여 결과 열 이름을 지정할 수 있습니다.
SELECT COUNT(*) AS FISH_COUNT
3. 문제 해결 절차
- 문제 이해:
- 2021년에 잡힌 물고기의 개수를 구해야 합니다.
- 물고기의 데이터는 날짜 열(TIME)을 통해 연도를 구분할 수 있습니다.
- 필터링:
- 날짜 열(TIME)에서 YEAR 함수를 사용해 연도를 추출하고, 2021년인 데이터를 필터링합니다.
- 데이터 개수 계산:
- COUNT 함수를 사용해 필터링된 데이터의 행 개수를 계산합니다.
- 별칭 부여:
- 결과 열 이름을 FISH_COUNT로 지정합니다.
- SQL 작성 및 실행:
- 조건과 집계 함수를 포함한 SQL문을 작성하고 실행하여 결과를 반환합니다.
4. 코드 작성
sql
코드 복사
-- 1. 조건에 따라 물고기 개수를 집계
SELECT
COUNT(*) AS FISH_COUNT -- 조건에 맞는 물고기 개수를 반환하며 열 이름을 FISH_COUNT로 지정
FROM
FISH_INFO -- 데이터를 가져올 테이블
WHERE
YEAR(TIME) = 2021; -- TIME 열에서 연도를 추출해 2021년 데이터를 필터링
주석 설명:
- COUNT(*) AS FISH_COUNT:
- 조건에 맞는 모든 행의 개수를 계산하고, 결과 열 이름을 FISH_COUNT로 지정합니다.
- FROM FISH_INFO:
- 데이터를 검색할 테이블을 지정합니다.
- WHERE YEAR(TIME) = 2021:
- 날짜 열에서 연도를 추출하여 2021년인 데이터를 필터링합니다.
5. 코드 분석
COUNT(*)
- 조건에 맞는 모든 행의 개수를 반환합니다.
- 는 테이블의 모든 열을 포함해 행의 개수를 계산합니다.
WHERE YEAR(TIME) = 2021
- 날짜 열(TIME)에서 YEAR 함수로 연도를 추출하여 2021년인 데이터만 필터링합니다.
결과 열 이름 지정
- AS FISH_COUNT를 사용하여 결과 열 이름을 FISH_COUNT로 지정합니다.
'SQL Kit > STRING, DATE' 카테고리의 다른 글
자동차 대여 기록에서 장기/단기 대여 구분하기 [ 프로그래머스 | SQL Kit | Level 1 ] (0) | 2025.03.03 |
---|---|
특정 옵션이 포함된 자동차 리스트 구하기 [ 프로그래머스 | SQL Kit | Level 1 ] (0) | 2025.03.03 |