Leetcode SQL50 (602)

Pocketopi·2025년 4월 27일

[MYSQL] Leetcode

목록 보기
23/34
post-thumbnail

🔔 문제

친구가 가장 많은 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

💡 핵심문법 및 배운 점

  • WITH
  • UNION
  • LIMIT

⏱️ 걸린 시간: 8분 31초

profile
통계학/컴퓨터공학 전공 4학년 학생 DA뿌수기 일기장

0개의 댓글