SQL 중복 기록 문제 처리 방법 소결

803 단어 SQL반복 레코드
1.중복 기록 찾기 ① 검색 결과 에 중복 기록 이 존재 하지 않 으 려 면 Distinct select distinct*from TestTable ② 중복 기록 과 수량 을 조회 하려 면 select UserID,UserName,count(*)as'기록 수'from TestTable Group by UserID,UserName having count(*)>1 ③ ID 가 중복 되 지 않 습 니 다.그러나 필드 중복 기록 은 select*from TestTable where UserID in(select max(UserID)as UserID from TestTable group by UserName,Sex,Place)2 만 표시 하고 중복 기록 을 삭제 합 니 다 ① 임시 표를 이용 하여 조회 되 지 않 은 중복 기록 을 임시 표 에 채 우 는 사고 입 니 다.임시 표 의 기록 을 원본 표 select distinct*into\#Temp from TestTable drop table TestTable select*into TestTable from\#Temp drop table\#Temp ② 삭제 ID 는 중복 되 지 않 지만 필드 중복 기록(필드 별로 같은 필드 기록 에서 가장 큰 ID 를 조회 한 다음 이 기록 을 유지 하고 다른 기록 을 삭제 하 는 것).(group by 필드,좀 귀 찮 습 니 다.delete TestTable where UserID not in(select max(UserID)as UserID from TestTable group by UserName,Sex,Place)

좋은 웹페이지 즐겨찾기