[HackerRANK SQL] SQL Project Planning

hy_jin·2023년 11월 21일

문제

https://www.hackerrank.com/challenges/sql-projects/problem

정답

SELECT start_date, end_date
FROM(
    SELECT start_date
        ,ROW_NUMBER() OVER (ORDER BY start_date) rnk
    FROM Projects
    WHERE start_date NOT IN (SELECT DISTINCT end_date FROM Projects)
) s_date
    INNER JOIN(
        SELECT end_date
            ,ROW_NUMBER() OVER (ORDER BY end_date) rnk
        FROM Projects
        WHERE end_date NOT IN (SELECT DISTINCT start_date FROM Projects)
)e_date ON s_date.rnk=e_date.rnk
ORDER BY DATEDIFF(end_date,start_date), start_date```


풀이
for나 if 없이 이 문제를 푸는데 생각이 필요했다.
우선 두개를 JOIN해야한다는 아이디어까진 떠올랐는데
해결하는 테크닉이 떠오르지 않았는데 새로운걸 배울수 있는 문제였다.
profile
천천히 꾸준히

0개의 댓글