select * from table1 as aa
where NOT EXISTS
(select * from (select col1, col2, ..... from (select * from table1 order by col2 desc) a group by col1) as bb where aa.col1=bb.col1 and aa.col2=bb.col2 and ..... )
이 쿼리는 col1 값을 기준으로 제일 큰 col2 값을 제외한 나머지 결과만 가지고 오는 쿼리입니다.
즉, 제일 위의 select 를 delete 로 바꾸는 것으로, col1 기준으로 중복값을 하나만 남기고 모조리 삭제가 가능하죠 ^^;
큐브리드 쿼리는 큰 도움이 되지 않을것입니다.. 큐브리드 전용 쿼리라서요...
당연한 소리지만, 위 쿼리도 group by 의 mysql 특성(^^)을 이용한 쿼리라서 다른 DBMS에서 적용은 어려울것입니다.
-------------------------------------
김동수 - Prototype for Evolution
select * from table1 as aa
where NOT EXISTS
(
select * from
(
select col1, col2, ..... from
(
select * from table1 order by col2 desc
) a group by col1
) as bb where aa.col1=bb.col1 and aa.col2=bb.col2 and .....
)
감사합니다.
아직 실행은 못시켜봤는데.. 말씀하신 mysql 의 group by 의 특성이 어떤건가요?
큐브리드 게시판에
큐브리드 게시판에 비슷한 논의가 있네요
http://www.cubrid.com/zbxe/?mid=bbs_developer_qa&page=3&document_srl=45181&sort_index=readed_count&order_type=desc
참고해봐야겠슴다
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
빈 테이블을 만들고
빈 테이블을 만들고 unique index 를 미리 건 후
insert into newtable select * from oldtable;
하면 되지 않을까요?
혹시 중복시 거기서 그냥 멈춰버린다면,
해당 테이블을 덤프 떠서 INSERT 문으로 만들어주면 될겁니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
mysqldump 로 원본
mysqldump 로 원본 테이블의 덤프를 떠서 덤프파일에서 중복된 값을 제거한 뒤 INSERT 하라는 말씀이신가요?
중복시 멈춰버린다면.. 까지는 이해가 되는데 해당 테이블을 떠서 INSERT 문으로 만들라는게 잘 이해가 안되서요;
mysqldump 를 이용해서 INSERT 문으로 된 SQL 파일 까지는 만들었는데 이걸 어떻게 해야 할지 모르겠어요.
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
http://dev.mysql.com/doc/refm
http://dev.mysql.com/doc/refman/5.0/en/create-index.html
위 페이지에서 저런걸 찾았습니다.
중복값이 있더라도 일단 인덱스 생성이라도 강제로 하게 만드는 방법이 있네요.
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
unique index 가 이미
unique index 가 이미 걸려 있으면 중복값이 있어도 insert 되지 않고 다음으로 넘어갈거라는 것입니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
해봤는데 중복값이
해봤는데 중복값이 있으니까 INSERT 중에 그냥 멎어버리더라구요.
일단 위 방법대로 강제로 인덱스를 넣어둔상태에서 기존 중복데이터는 ... 흠.. 추후 처리 예정...입니다 ㅡ.,ㅡ; 신규 데이터에 대해서 일단은 중복 방지 대책이 만들어졌으니;;
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
저도 잘은 모르지만.. 최근 db연동하는걸 해서..
select로 가져올때
select distinct 컬럼 from 테이블 하시면 될거 같은데.. 중복된자료는 하나만 띄어주는거요..
일단.. distinct 는 컬럼
일단.. distinct 는 컬럼 하나만 가능한지라 좀 힘들것같아요
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
이렇게 하면
이렇게 하면 되겠네요.
select * from table1 as aa
where NOT EXISTS
(select * from (select col1, col2, ..... from (select * from table1 order by col2 desc) a group by col1) as bb where aa.col1=bb.col1 and aa.col2=bb.col2 and ..... )
이 쿼리는 col1 값을 기준으로 제일 큰 col2 값을 제외한 나머지 결과만 가지고 오는 쿼리입니다.
즉, 제일 위의 select 를 delete 로 바꾸는 것으로, col1 기준으로 중복값을 하나만 남기고 모조리 삭제가 가능하죠 ^^;
큐브리드 쿼리는 큰 도움이 되지 않을것입니다.. 큐브리드 전용 쿼리라서요...
당연한 소리지만, 위 쿼리도 group by 의 mysql 특성(^^)을 이용한 쿼리라서 다른 DBMS에서 적용은 어려울것입니다.
-------------------------------------
김동수 - Prototype for Evolution
김동수 - Prototype for Evolution
select * from table1 as
감사합니다.
아직 실행은 못시켜봤는데.. 말씀하신 mysql 의 group by 의 특성이 어떤건가요?
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
원래 group by 를 하면
원래 group by 를 하면 grouping 되지 않은 필드는 선택할 수 없습니다.
I J
1 a
1 b
2 c
2 d
3 e
3 f
select I, J from table group by I
하면 J 에 어느게 오게 될지 명확하지 않아서 안되는 거죠.
근데 MySQL 은 됩니다.-_-;
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
그렇군요! 감사합니다
그렇군요!
감사합니다. ㅎㅎㅎㅎ
---------------------------------------
http://www.waitfor.com/
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
댓글 달기