https://school.programmers.co.kr/learn/courses/30/lessons/298516

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코드설명

SELECT + COUNT(*) + YEAR()를 활용한 문제입니다.

 

이러한 문제를 풀떄 사소하지만 중요한점은, 조건하는 것이 문자열인지, 정수형인지에 따라 쿼리의 속도가 많이 차이납니다. 이번 문제는 문자열이므로 문자열로 처리해야합니다.

코드

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

 

아래의 쿼리같은경우 문자열을 정수형으로 비교하기에 속도가 더 느립니다.

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

 

DATE_FORMAT(TIME, '%Y')를 활용하여 날짜에서 연도를 추출한 경우입니다.

SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO WHERE DATE_FORMAT(TIME, '%Y') = '2021';

 

SELECT COUNT(*) AS FISH_COUNT
FROM FISH_INFO AS FI1
WHERE DATE_FORMAT(FI1.TIME, '%Y') = '2021';
SELECT COUNT(ID) AS FISH_COUNT
FROM FISH_INFO AS FI
WHERE DATE_FORMAT(FI.TIME, '%Y') = 2021

+ Recent posts