반응형
Mysql 기반입니다.
우선 문제가 생길 수 있으니 항상 테이블을 복제 하여 테스트 해보고 적용하는 것은 기본입니다.
테이블 구조와 데이터 복사
create table EV_STATION_API2 (select * from EV_STATION_API)
create table EV_STATION_API2 as select * from EV_STATION_API
복제가 되었으면 쿼리를 테스트 해봅니다.
EV_STATION_API 테이블에서 evId 열을 기준으로 중복된 행을 제거하려면 DELETE 문을 사용하여 JOIN 및 서브쿼리를 사용할 수 있습니다. 다음은 이 작업을 수행하는 SQL 쿼리입니다:
DELETE e1
FROM EV_STATION_API e1
JOIN (
SELECT evId, MIN(no) AS min_no
FROM EV_STATION_API
GROUP BY evId
HAVING COUNT(*) > 1
) e2 ON e1.evId = e2.evId AND e1.no > e2.min_no;
이 쿼리는 먼저 중복된 evId 값을 가지는 행을 식별하고 각각의 최소 no 값을 선택하는 서브쿼리를 생성합니다. 그런 다음 원본 테이블을 이 서브쿼리와 조인하여 no가 각 evId의 최소 no보다 큰 행을 삭제하여, 각 evId에 대해 하나의 행만 유지합니다.
반응형
'DataBase' 카테고리의 다른 글
[MSSQL] DB 데이터 중복된 값으로 이루어진 튜플 ( 행 ) 삭제하는 쿼리 (1) | 2024.01.09 |
---|---|
DB Injection 인젝션 공격 하는 방법 과 대처 방법 [parameterized query ] (1) | 2024.01.09 |
[SQL] INNER JOIN 사용하는 방법을 예시로 알려드립니다. (4) | 2023.11.01 |
우분투 22.04 에 MongoDB 6.0 설치 하는 방법 admin 생성 db 생성 전부 알려드립니다. (4) | 2023.10.12 |
Mysql 칼럼 추가 하고 데이터 기반 칼럼 데이터 채우는 DB 쿼리 feat. safe update mode (0) | 2023.10.12 |
Window OS에 MongoDB 설치 방법, error체크 포함 (1) | 2023.10.05 |