😏 요구사항 (Requiredments)
처음부터 테이블을 잘 만들어두면 좋겠지만, 시스템이나 서비스를 오랜 기간 운영하다 보면 컬럼을 변경할 일이 생길 수 있습니다. 유니크 인덱스(UNIQUE INDEX)는 컬럼에 중복된 값이 포함되어 있으면 생성할 수 없습니다. 이번에 컬럼을 변경하면서, 유니크 인덱스를 걸어두어도 괜찮을지 고민하던 차에 기존 데이터에 중복값이 있는지 확인하려고 합니다.
😚 해결방안 (Solution or Next step)
저의 경우에는 찾고자 하는 조건 컬럼이 3개여서 다음과 같이 사용했습니다.
SELECT a_column, b_column, c_column, count(1) AS cnt
FROM table_name
GROUP BY a_column, b_column, c_column
HAVING cnt > 1;
- table_name: 테이블 명을 넣어주세요.
- a_column, b_column, c_column: 해당하는 컬럼 명을 넣어주세요.
😁 회고 (Retrospective)
사실 이 코드는 업무 중에 주워온 코드 조각입니다. DB 팀분께 다른 업무 관련 요청을 드린 것을 확인하고 나서, 리얼 환경 테이블 데이터를 직접 볼 수 없는 상황이라 한 번 여쭤봤습니다. 확인해주실 때 SQL 문을 알려주셔서, 감사하게도 코드 조각을 수집했습니다. 이 글은 그것의 기록입니다. 😆
'Computer Science > Database' 카테고리의 다른 글
Oracle | 오라클 클라우드 ATP Database 생성과 DBeaver로 연결하기 (0) | 2022.01.21 |
---|---|
MySQL | SUBSTRING_INDEX로 문자열 자르기 (0) | 2021.12.06 |
01장 소개 (2) | 2021.10.08 |
목차 - 도서 『Real MySQL 8.0 1권』 요약 (0) | 2021.10.08 |
MySQL/MyBatis | 동적 쿼리(Dynamic Query) 사용하기 (0) | 2021.10.02 |
댓글