반응형
SELECT count(USER_ID) as USERS
FROM USER_INFO
WHERE 1=1
AND JOINED like '2021%'
AND AGE between 20 and 29
USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냄
문제
USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성
2가지의 조건을 만족하는 USER 데이터의 수를 조회 하는 문제이다.
2021년 데이터는 like '2021%' 를 통해 2021을 앞자리로 가지는 날짜 데이터를 필터링 해주었고
나이는 20세에서 29세의 범위 데이터로 between 구문을 통해 필터 처리 해주었다.
이 데이터의 총 개수를 구해야하기에 Count 를 통해서 컬럼내 데이터 수를 세어 주어야 하는데 USER_ID 컬럼이 유저 데이터의 유니크함을 가져 해당컬럼을 선택하여 COUNT 처리 하였다. 좀더 깔끔한 처리를 위해서 count(distinct USER_ID)처리를 해도 무방하다
반응형
'SQL > MY SQL 문제 풀이(프로그래머스)' 카테고리의 다른 글
[MYSQL] PROGRAMMERS_12세 이하인 여자 환자 목록 출력하기 (0) | 2024.02.21 |
---|---|
[MYSQL] PROGRAMMERS_인기있는 아이스크림 (0) | 2024.02.21 |
[MYSQL] PROGRAMMERS_이름이 없는 동물의 아이디 (0) | 2024.02.21 |
[MYSQL] PROGRAMMERS_경기도에 위치한 식품창고 목록 출력하기 (0) | 2024.02.20 |
[MYSQL] PROGRAMMERS_흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2024.02.20 |