- 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/
반응형
'Code > Database (DB)' 카테고리의 다른 글
[mysql] JSON 배열 합치기 & 중복값 제거, 특정값만 삭제 (0) | 2022.02.20 |
---|---|
[mysql] sort_buffer_size 설정 (0) | 2022.02.03 |
[MySql] 우분투에서 mysql 마이너 업그레이드 하는 방법 (0) | 2021.04.17 |
MySql Unique index 사용시 soft Delete 설정 (0) | 2021.03.31 |
MySql 여러 행을 한번에 update (한방쿼리) (0) | 2021.02.27 |