데이터분석 과정/SQL
MySQL 리트코드 | Biggest Single Number (WHERE절, FROM절 서브쿼리)
ANNASENA
2025. 4. 3. 08:00
728x90
문제
- MyNumbers 테이블에서 한 번만 등장하는 숫자 중 가장 큰 숫자 찾기
- 만약 한 번만 등장하는 숫자가 없으면 null로 표시하기
테이블
MyNumbers | num |
8 | |
8 | |
3 | |
3 | |
1 | |
4 | |
5 | |
6 |
- 한 번만 등장하는 숫자 : 1, 4, 5, 6
- 이 중에 가장 큰 숫자 : 6
풀이과정
▶ WHERE절 IN함수 내 서브쿼리 활용
# 한 번만 등장하는 숫자 구하기
- WHERE 조건절에 IN() 함수 및 서브쿼리 활용
- num 별로 그룹화했을 때 COUNT 값이 1인 경우만 추출
# 그 중 가장 큰 숫자 구하기
-
- WHERE 조건절로 만들어진 (한 번만 등장하는 숫자로만 이루어진) 테이블에서 MAX인 값 조회하기
# 정답
1
2
3
|
SELECT MAX(num) num
FROM MyNumbers
WHERE num IN(SELECT num FROM MyNumbers GROUP BY num HAVING COUNT(num)=1)
|
cs |
다른 사람 풀이 참고
▶ FROM절 서브쿼리 활용
# 한 번만 등장하는 숫자 테이블 만들기
- FROM절에 서브쿼리로 (한 번만 등장하는 숫자로 이루어진) 테이블 만들기
- num 별로 그룹화했을 때 COUNT 값이 1인 경우만 추출
# 그 중 가장 큰 숫자 구하기
-
- FROM절 테이블에서 MAX인 값 조회하기
# 정답
1
2
3
4
5
6
7
|
SELECT MAX(num) AS num
FROM (
SELECT num
FROM MyNumbers
GROUP BY num
HAVING COUNT(num) = 1
) AS unique_numbers;
|
cs |
728x90