
친구가 가장 많은 ID와 친구 수를 출력하라
[Friend Requests II : Who has the most friends]
🔑 핵심 포인트
WITH문을 이용해 어떠한 ID가 있는지 각 ID를 테이블로 만들었다.
그 이후 주어주는 테이블과 조인하여 각 아이디별 친구수를 구하고, 가장 많은 ID하나만 잘라 주었다.
(ON 조건 : REQUEST나 ACCEPT 중 하나라도 ID와 같으면 추가)
WITH CTE AS (SELECT DISTINCT REQUESTER_ID AS ID
FROM REQUESTACCEPTED
UNION
SELECT DISTINCT ACCEPTER_ID AS ID
FROM REQUESTACCEPTED)
SELECT ID, COUNT(ID) AS NUM
FROM CTE C JOIN REQUESTACCEPTED R
ON ID = REQUESTER_ID OR ID = ACCEPTER_ID
GROUP BY ID
ORDER BY NUM DESC
LIMIT 1