FISH_INFO 테이블에서 2021년도에 잡은 물고기 수 출력.
- 컬럼명은 'FISH_COUNT'로 지정
- 잡은 물고기의 길이가 10cm 이하일 경우 LENGTH=NULL
- LENGTH에 NULL만 있는 경우는 X
'2021/12/04' 형태로 되어 있는 TIME 컬럼에서 년도만 YEAR함수로 추출 후 SELECT에서 COUNT로 데이터의 수를 센다.
또한, 문제 조건에 따라 추출된 데이터의 컬럼명을 FISH_COUNT로 별칭 지정!
SELECT COUNT(TIME) AS FISH_COUNT FROM FISH_INFO WHERE YEAR(TIME) = 2021;
다른 풀이 : 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(ENDNAME, 2, 3) = 문자열의 두 번째 위치부터 세 자리까지 자른다.
- SUBSTR('문자열', -'시작위치', '길이')
: 문자열의 뒤에서'시작위치'에서 '길이'까지 자른다.
: SUBSTR(ENDNAME, -2, 3) = 문자열의 뒤에서 세 번째 위치에서 두 자리까지 자른다.