🗒️SQL 코드 풀이
SELECT MAX(A.num) AS num
FROM
(
SELECT *
FROM MyNumbers
GROUP BY num
HAVING COUNT(num) = 1
) A
1. 간단하게 풀이 가능한 문제이다.
2. GROUP BY 와 HAVING으로 중복되는 숫자를 제거한 서브쿼리를 만든다.
3. 해당 서브쿼리를 가져와 MAX 값을 추출한다.
문제 한번 더 돌아보기
SELECT *
FROM MyNumbers
GROUP BY num
HAVING COUNT(num) = 1
| num |
| --- |
| 1 |
| 4 |
| 5 |
| 6 |
- 바로 위의 쿼리를 작성하면, 다음과 같은 결과가 나온다.
- 이전 포스팅하고 비슷한 문제인데, SELECT 부분에 MAX(num)을 하는 경우를 생각해보자.
- 해당 쿼리에서 MAX(num)을 하면 GROUP BY 된 그룹들끼리에서 MAX 값을 구함
- 이런 문제는 단순하게 해당 쿼리를 서브 쿼리로 쓰면 됨
📌 문제 코멘트
해당 문제는 간단하지만, 포스팅하는 이유는 다음과 같다.
- GROUP BY에 MAX 할 때 그룹끼리만 될 때, 서브쿼리로 문제 해결|
📚문제
'♟️ 알고리즘 > Leetcode' 카테고리의 다른 글
Leetcode[MySQL][Leet Code] 1070. Product Sales Analysis III (Medium) (0) | 2025.03.05 |
---|---|
[MySQL][Leet Code] 550. Game Play Analysis IV (Medium) (0) | 2025.03.04 |
[MySQL][Leet Code] 1174. Immediate Food Delivery II (Medium) (0) | 2025.03.04 |
[MySQL][Leet Code] 1633. Percentage of Users Attended a Contest (Easy) (1) | 2025.02.18 |
[MySQL][Leet Code] 1251. Average Selling Price (Easy) (0) | 2025.02.18 |