database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1579 게시물 읽기
No. 1579
영어사전 데이터베이스를 구축하려고 합니다. 좀 도와주세요.
작성자
임호
작성일
2004-09-23 18:03
조회수
2,365

신입이라 아는게 없는데, 들어오자마자 혼자서 영어사전 디비를 구축해야 하는군요.

일단 스크립트에서 한 단어씩 쪼개서 데이터베이스안에 넣는데는 성공을 했습니다. 빈도를 표시하기 위해서 카운트도 세었구요.. 그 스크립트의 위치를 표시하는 필드도 하나 있습니다. (그 외 잡다한 필드가 있지만 생략하겠습니다.)

그런데 그렇게 스크립트를 쪼개서 데이터베이스에 넣다보니 같은 단어가 중복되어 나오는 결과가 생겼습니다. 해설은 수작업으로 해야 하는데 같은 단어에 대해서 또 다시 해석을 하자니 여간 불편한 것이 아닙니다.

도움을 받고 싶습니다. 간단하게 설명을 하자면...

단계 단어 해석

1 boy 소년

1 girl 소녀

2 boy 소년

 

이렇게 되어 있는 경우에 3행의 레코드를 지우고 싶습니다. (수작업 말고 일괄처리로...)

즉 중복되는 단어를 지우되 지울때 낮은 단계에서 나온 레코드는 그대로 두고 높은 단계에서 나온 레코드를 지우고 싶은 겁니다.

어떻게 해야 하나요?

이 글에 대한 댓글이 총 1건 있습니다.

물론 여러가지 방법이 있겠지만 저는 단어별 count가 2이상인 것들을 먼저 셀렉트 하고 각각에서 단계의 min값이 최소값보다 큰 것들을 셀렉트 하면 되지 않을까 싶습니다.

 

select 단계 from test1
   where 단계 > (select min(단계) from test1
                          where 단어 =  (select 단어  from test1
                                                group by 단어
                                                having count(*) > 1))

당연히 지우려고 한다면 delete from test1

where 이하절은 동일

여리님이 2004-09-24 10:51에 작성한 댓글입니다.
이 댓글은 2004-09-24 14:19에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1582MYSQL1064오류나서요 제발 답변 부탁드려요 [1]
김은경
2004-09-24
2197
1581데이타베이스 복사 마법사 관련....
초보
2004-09-23
3167
1580프로세스단위 라이센스...
AmadeusM
2004-09-23
2338
1579영어사전 데이터베이스를 구축하려고 합니다. 좀 도와주세요. [1]
임호
2004-09-23
2365
1578쿼리한 내용을 보고 싶습니다. [1]
성대경
2004-09-23
2340
1577거리 계산 query가 가능한가요?? 꼭 답해주세요~~ [1]
김우섭
2004-09-23
2828
1576Microsoft Analysis Service 사용 하는 Olap Cube 작성시 질문 [1]
고복수
2004-09-22
2342
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다