중복 된 전화 번호를 삭제하기 위해 다음 쿼리를 클라이언트에 제공했습니다. MSSQL 데이터베이스에 레코드를 저장하지만 이제는 MySQL에서도 수행해야하며 MySQL이 쿼리 형식에 대해 불평한다고보고합니다. 내 코드 샘플에 대해 중복 된 테스트 테이블 설정을 포함 시켰지만 실제 삭제 쿼리는 중요합니다.MySQL 테이블에서 중복을 삭제하는 방법
나는 MySQL을 다운로드하고 설치하는 데 여전히 바쁘다. 그리고 누군가가 뜻있는 시간에 도움을 줄 수 있기 때문에 나는 이것을 무지하고 긴급히 묻는다.
create table bkPhone
(
phoneNo nvarchar(20),
firstName nvarchar(20),
lastName nvarchar(20)
)
GO
insert bkPhone values('0783313780','Brady','Kelly')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0834976958','Bill','Jones')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0828329792','Mickey','Mouse')
insert bkPhone values('0834976958','Bill','Jones')
alter table bkPhone add phoneId int identity
delete from bkPhone
where phoneId not in
(
select min(phoneId)
from bkPhone
group by phoneNo,firstName,lastName
having count(*) >= 1
)
나에게 잘 보입니다. 서브 쿼리를 지원하는 MySQL 버전을 사용하고 있습니까? –
왜'카운트 (*)> = 1' ?? 절대 그렇지 않을 때? – RichardTheKiwi