- 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/




 

반응형
Posted by codens