전체 글 123

회원별 마지막데이터

오라클에서 회원별로 마지막 데이터 한 줄씩 가져오려면 ROW_NUMBER()나 RANK()/DENSE_RANK() 같은 윈도우 함수를 활용하는 게 가장 깔끔합니다.예를 들어 아래와 같은 테이블 구조라고 가정해볼게요:SELECT USER_ID, DATA_VALUE, INSERT_DATEFROM ( SELECT USER_ID, DATA_VALUE, INSERT_DATE, ROW_NUMBER() OVER (PARTITION BY USER_ID ORDER BY INSERT_DATE DESC) AS RN FROM TABLE_NAME)WHERE RN = 1;이렇게 되어 있을 때, 각 USER_ID 별로 가장 마지막 INSERT_DATE 기준으로 한 ..

[DB] 2025.04.30

쿼리문 2 레프트

SELECT A.id, A.col1, B.col2, B.created_atFROM ALEFT JOIN ( SELECT id, col2, created_at, ROW_NUMBER() OVER (PARTITION BY id ORDER BY created_at DESC) AS rn FROM B) B ON A.id = B.id AND B.rn = 1;설명1. ROW_NUMBER() OVER (PARTITIONBY id ORDER BY created_atDESC)> B 테이블에서 id 기준으로 그룹화하고,createdLat DESC(최신순)으로 정렬 각 그룹에서 가장 최신인 데이터에 rn = 1 부여2. LEFT JOIN B ON A.id = B.idAND B.rn = 1• In = ..

카테고리 없음 2025.02.07