Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 날짜 포맷
- alias
- where
- date_format
- MAX
- SubQuery
- 도서추천
- IN
- IELTS
- MySQL
- IS NOT NULL
- 금융IT
- GROUP BY
- 트래블테크
- 투자자산운용사
- count
- inner join
- order by
- SQL
- having
- LIMIT
- join
- 금융 플랫폼
- 해외결제
- Round
- programmers
- 서브쿼리
- is null
- Python
- ifnull
Archives
- Today
- Total
Every Step Matters
[프로그래머스 SQL Lv.1] 조건에 맞는 회원수 구하기 (MySQL) 본문
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131535
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 테이블 : USER_INFO
| Column name | Type | Nullable |
| USER_ID | INTEGER | FALSE |
| GENDER | TINYINT(1) | TRUE |
| AGE | INTEGER | TRUE |
| JOINED | DATE | FALSE |
GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타낸다.
2. 문제
USER_INFO 테이블에서 (1) 2021년에 가입한 회원 중 (2) 나이가 20세 이상 29세 이하인 회원이 (3) 몇 명인지 출력하는 SQL문을 작성해주세요. (4) 다음과 같이 결과가 나와야 합니다.
| USERS |
| 3 |
3. 문제풀이
(1) 2021년에 가입한 회원
WHERE YEAR(datetime) = 2021
YEAR(x) : 함수이므로 x에 날짜, 컬럼 등을 입력하면 연도 부분을 반환한다.
*마찬가지로, MONTH(x), DAY(x) 함수도 각각 날짜의 월, 일 부분을 반환한다.
(2) 나이가 20세 이상 29세 이하인 회원이 (3) 몇 명인지 출력 & (4) USERS라고 결과가 나와야 함
SELECT count(*) as users -- 조건에 만족하는 모든 회원 수를 users라는 별칭으로 반환
FROM user_info
WHERE year(joined) = 2021 -- 2021년 가입
AND age BETWEEN 20 AND 29 -- 20세 이상 29세 이하
4. 정답
따라서 정답은
SELECT count(*) as users
FROM user_info
WHERE year(joined) = 2021
AND age BETWEEN 20 AND 29'Database > SQL' 카테고리의 다른 글
| [프로그래머스 SQL Lv.1] 모든 레코드 조회하기 (MySQL) (0) | 2025.11.25 |
|---|---|
| [프로그래머스 SQL Lv.1] 인기있는 아이스크림 (MySQL) (0) | 2025.11.24 |
| [프로그래머스 SQL Lv.1] 상위 n개 레코드 (MySQL) (0) | 2025.11.24 |
| [프로그래머스 SQL Lv.1] 여러 기준으로 정렬하기 (MySQL) (0) | 2025.11.24 |
| [프로그래머스 SQL Lv.1] 동물의 아이디와 이름 (MySQL) (0) | 2025.11.24 |