Re:제로부터 시작하는 갓생

[MySQL] 조건에 맞는 회원수 구하기_Lv.2 본문

CodeKata/SQL

[MySQL] 조건에 맞는 회원수 구하기_Lv.2

기븜 2024. 12. 29. 02:10
문제 https://school.programmers.co.kr/learn/courses/30/lessons/131535
 

프로그래머스

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

programmers.co.kr

다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_IDGENDERAGEJOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.

 

요구사항

가입일 2021년 필터링 where절 like~

나이 20세 이상~29세 이하 회원 찾기 where절 and~

고유값 user id로 찾은 회원의 수 세기 select count~

 

풀이방법
더보기
-- 코드를 입력하세요
SELECT count(user_id) as users
from user_info
where joined like '%2021%'
and age between 20 and 29

 

배운점

왜 gender가 아니라 user id로 count 해야 하는지?

user id: 고유값이므로 중복 X, 회원수 정확히 count 가능

gender: 컬럼 비어있거나 0 or 1의 값을 가지고 있음.

count(gender) 입력 시 비어 있지 않은 성별 값의 수를 세면 정확한 회원 수를 구할 수 없다