Code/Database (DB)
쿼리 결과 이웃행(다음행)의 칼럼값을 비교 - 같은 값 제거
codens
2021. 4. 24. 02:03
- mysql sql query duplicate column value remove neighbor row
- 테이블의 이웃행(연속한 이전행)과 비교해서 같은 값 제거
- 윈도우 함수(window function) 사용
-- 가상 테이블 설정
WITH t1 AS (
SELECT
ROW_NUMBER() OVER w AS 'row_num',
table1.*
FROM table1
WHERE user_id = 1234 AND result = '성공' WINDOW w AS ( ORDER BY id )
)
-- 다음 행을 조인 해서 비교 검색
SELECT
t1.row_num, t1.id, t1.name,
t2.row_num, t2.id, t2.name
FROM t1
INNER JOIN t1 AS t2 ON t1.row_num + 1 = t2.row_num
WHERE t1.name != t2.name
//------------------------------
// 참고
How To Compare Successive Rows Within The Same Table in MySQL
https://www.mysqltutorial.org/mysql-tips/mysql-compare-calculate-difference-successive-rows/
반응형