inblog logo
|
silver
    SQL문제풀기

    [SQL문제풀기] 친구 수 집계하기

    silver's avatar
    silver
    Mar 18, 2025
    [SQL문제풀기] 친구 수 집계하기
    Contents
    문제SQLite

    문제

    solvesql.com
    solvesql.com
    https://solvesql.com/problems/number-of-friends/

    SQLite

    내가 작성한 오답1

    : 친구수가 0인 user_id도 모두 출력되어야 했다.
    notion image
    notion image
    notion image
    select user_a_id user_id, count(user_b_id) num_friends from edges group by user_a_id order by 2 desc, 1

    내가 작성한 오답2

    notion image
    a와 b가 친구일 때 한쪽에만 기록이 되므로 a와 b 두 경우를 모두 세어야 했다.
    notion image
    select u.user_id, count(e.user_b_id) num_friends from edges e right join users u on e.user_a_id = u.user_id group by u.user_id order by 2 desc, 1

    내가 작성한 정답

    with a as( select u.user_id, count(distinct e.user_b_id) num_friends from edges e right join users u on e.user_a_id = u.user_id group by u.user_id), b as(select u.user_id, count(distinct e.user_a_id) num_friends from edges e right join users u on e.user_b_id = u.user_id group by u.user_id) select a.user_id, a.num_friends+b.num_friends num_friends from a a join b b on a.user_id = b.user_id order by 2 desc, 1
     
    Share article

    silver

    RSS·Powered by Inblog