[ Programmers ] Lv1. 조건에 맞는 회원 수 구하기

ma.caron_g·2022년 11월 8일
0

MySQL Algorithm

목록 보기
14/20
post-thumbnail

1. Problem 📃

[ 조건에 맞는 회원 수 구하기 ]

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


[ 문제 설명 ]

다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며, USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다.

Column nameTypeNullable
USER_IDINTEGERFALSE
GENDERTINYINT(1)TRUE
AGEINTEGERTRUE
JOINEDDATEFALSE

GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다.


USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.


2. Example 📚

[ 입출력 예시 ]

예를 들어 USER_INFO 테이블이 다음과 같다면

USER_IDGENDERAGEJOINED
11262021-10-05
20NULL2021-11-25
31222021-11-30
40312021-12-03
50282021-12-16
61242022-01-03
71NULL2022-01-09

2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원은 USER_ID 가 1, 3, 5 인 회원들 이므로, 다음과 같이 결과가 나와야 합니다.

USERS
3

3. Solution 🔑

  1. 유저가 몇 명인지 세어서 조회할 것이다
    • SELECT COUNT(USER_ID) AS USERS
  2. 해당 테이블에서 (FROM [테이블명])
    • FROM USER_INFO
  3. 유저 가입일(JOINED)가 2021년이고, 유저의 나이(AGE)가 20이상 29이하 인 곳
    • WHERE JOINED LIKE '2021%' AND AGE >=20 AND AGE <=29

4. Code 💻

SELECT COUNT(USER_ID) AS USERS
FROM USER_INFO
WHERE JOINED LIKE '2021%' AND AGE >= 20 AND AGE <=29

5. Growth 🍄

  • COUNT([필드명]) : 해당 필드명으로 조회된 레코드의 개수를 셉니다.
  • LIKE '[포함 단어]' : 포함 단어에 "%"를 붙여 "~포함 단어" 인지 "포함 단어~"인지 구분하여 포함된 값을 찾습니다.
profile
다른 사람이 만든 것을 소비하는 활동보다, 내가 생산적인 활동을 하는 시간이 더 많도록 생활화 하자.

0개의 댓글