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;