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
운영게시판
최근게시물
PostgreSQL Q&A 9739 게시물 읽기
No. 9739
중복 데이터 내에서 삭제하고픈 목록만
작성자
ampwings(ampwings)
작성일
2016-12-05 15:09
조회수
7,538

중복 데이터 내에서 삭제하고픈 목록만 select 하려고 합니다. 

 

no | partNum | description | newP_Num | cost 

 

SELECT * FROM CheckParts 

    WHERE partNum IN

    (

    SELECT partNum FROM CheckParts GROUP BY partNum HAVING COUNT(*)>1

    ) ORDER BY partNum, cost;

이처럼 중복 데이터를 정렬해서 조회는 했습니다. 

 

이때 삭제할 리스트 목록만을 출력하고 싶은데요. 

조건은 

중복되는 partNum 중에 newP_Num가 있는 경우 newP_Num이 없는 리스트를 출력

중복되는 partNum 중에 모두 newP_Num 이 없다면 cost 로 비교해서 낮은 값을 출력

중복되는 partNum 중에 이도저도 아니면 둘중 하나만 출력 

하려고 합니다.

sql 문에서 조건문이나 분석함수를 이용하면 된다고 하는데 어렵네요. 

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

 분석 함수 ROW_NUMBER() 로 해결했습니다.  괜한 조건문에서 허덕이고 있었네요 .. 

ampwings(ampwings)님이 2016-12-05 18:18에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9742User Defined Type 리스트 보는 방법 [4]
고은진
2016-12-12
8052
9741DB 물리디스크 공간확보 문제 질의드립니다. Drop table관련 [1]
PG마스터
2016-12-11
8250
9740공공기관, 행정기관에서 postgresql 을 쓰는 사례가 있나요? [1]
전상도
2016-12-08
8089
9739중복 데이터 내에서 삭제하고픈 목록만 [1]
ampwings
2016-12-05
7538
9737Archive 관련 트러블 슈팅 부탁드립니다. [2]
주지후
2016-11-25
9751
9736passwordcheck 라이브러리 활용법 [2]
축구소년
2016-11-24
7768
9735PRIMARY KEY 장애 [4]
필이
2016-11-23
7729
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다