https://leetcode.com/problems/friend-requests-ii-who-has-the-most-friends/
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
처음의 실수는 join으로 잡았는데, 한 쪽 테이블에 정보가 없을 거라는 생각을 하지 못했다.
join으로 풀 수야 있긴 한데, 효율적인 풀이는 아닐 것이다.
Union all로 쉽게 해결 가능하다. with문으로 끌어다쓰자.
WITH FRIENDS_TOTAL AS(
SELECT
REQUESTER_ID AS ID,
COUNT(*) AS NUM
FROM RequestAccepted
GROUP BY ID
UNION ALL
SELECT
ACCEPTER_ID AS ID,
COUNT(*) AS NUM
FROM RequestAccepted
GROUP BY ID
)
SELECT
ID,
SUM(NUM) AS NUM
FROM
FRIENDS_TOTAL
GROUP BY ID
ORDER BY NUM DESC
LIMIT 1
'SQL' 카테고리의 다른 글
[LeetCode] Count Salary Categories (0) | 2024.02.06 |
---|---|
[Leetcode] Confirmation Rate (0) | 2024.01.30 |
[LeetCode] Department Top Three Salaries (1) | 2024.01.30 |
[LeetCode] Second Highest Salary (1) | 2024.01.30 |
[SQL] 윈도우 함수 다시 정리 (0) | 2024.01.27 |