데이터베이스/문제 풀이

[프로그래머스][MySQL] 조건에 맞는 회원수 구하기

수수다 2026. 4. 18. 20:43

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

JOINED 에서 연도만 잘라서 비교.

SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE DATE_FORMAT(JOINED, '%Y') = '2021' AND AGE >= 20 AND AGE <= 29

 

DATE 타입은 DATE_FORMAT으로 문자열로 가공해서 사용하는 것보다 범위로 구하는 것이 인덱스 활용에 더 유리하다.

 

BETWEEN은 양 끝 값을 모두 포함할 때 사용.

SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE JOINED >= '2021-01-01' 
  AND JOINED < '2022-01-01' 
  AND AGE BETWEEN 20 AND 29;