240801_TIL

J Lee·2024년 8월 1일
0

아무리 사소하더라도 배움이 없는 날은 없다.

SQL 코드카타

팀 프로젝트의 중요한 첫 고비를 넘겼다.
늦게까지 고민에 고민을 거듭하는 날이 이어지고 있는데,
마지막까지 퍼지지 말고 페이스 잘 유지해보자🔥

문제 링크
join할 키 컬럼이 없을 때는
row_number나 rank, dense_rank 등을 써서
키 컬럼 역할을 하게끔 풀면 된다.

이 문제에서는 중복된 값들이 여러 행에 나타날 수 있으니
row_number가 가장 적합하다.

WITH a
     AS (SELECT Row_number()
                  OVER(
                    ORDER BY first_col) AS "row_id",
                first_col
         FROM   data
         ORDER  BY 2),
     b
     AS (SELECT Row_number()
                  OVER(
                    ORDER BY second_col DESC) AS "row_id",
                second_col
         FROM   data)
SELECT a.first_col,
       b.second_col
FROM   a
       LEFT JOIN b
              ON a.row_id = b.row_id
ORDER  BY 1,
          2 DESC; 
profile
기본기를 소홀히 하지 말자

0개의 댓글

관련 채용 정보