[SQL] 한 해에 잡은 물고기 수 구하기

하나·2025년 1월 3일
0

SQL TEST

목록 보기
3/9
post-thumbnail

🪄문제 분석 요약

FISH_INFO 테이블에서 2021년도에 잡은 물고기 수 출력.

  • 컬럼명은 'FISH_COUNT'로 지정
  • 잡은 물고기의 길이가 10cm 이하일 경우 LENGTH=NULL
  • LENGTH에 NULL만 있는 경우는 X

🪄접근법

'2021/12/04' 형태로 되어 있는 TIME 컬럼에서 년도만 YEAR함수로 추출 후 SELECT에서 COUNT로 데이터의 수를 센다.
또한, 문제 조건에 따라 추출된 데이터의 컬럼명을 FISH_COUNT로 별칭 지정!

🪄SQL

SELECT COUNT(TIME) AS FISH_COUNT
FROM FISH_INFO
WHERE YEAR(TIME) = 2021;

🪄틀린 부분 수정 OR 다른 풀이

다른 풀이 : SUBSTR 사용

SELECT  COUNT(*) AS FISH_COUNT
FROM  FISH_INFO
WHERE  SUBSTR(TIME,1,4) = '2021'
  • SUBSTR로 TIME 컬럼에서 앞에서부터 4개의 문자를 자르고 그것이 2021과 같은지 비교하여 2021에 해당되는 데이터를 찾았다.

🪄관련 개념

날짜 함수

  • YEAR(컬럼명) : 날짜에서 연도 부분만 반환
  • MONTH(컬럼명) : 날짜에서 월 부분만 반환
  • DAYOFMONTH(컬럼명) : 날짜에서 일 부분만 반환
  • DATEDIFF(A, B) : A날짜에서 B날짜를 빼는 것
  • CURDATE() : 오늘날짜 추출

SUBSTR()

  • SUBSTR('문자열', '시작위치', '길이')
    : 문자열의 '시작위치'부터 '길이'까지 자른다.
    : SUBSTR(ENDNAME, 2, 3) = 문자열의 두 번째 위치부터 세 자리까지 자른다.
  • SUBSTR('문자열', -'시작위치', '길이')
    : 문자열의 뒤에서'시작위치'에서 '길이'까지 자른다.
    : SUBSTR(ENDNAME, -2, 3) = 문자열의 뒤에서 세 번째 위치에서 두 자리까지 자른다.
profile
Start with hello world:)

0개의 댓글

관련 채용 정보