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
운영게시판
최근게시물
Oracle Q&A 38736 게시물 읽기
No. 38736
중복제거 질문 ^^ 급합니다.
작성자
이병헌(bhlee72)
작성일
2011-07-26 11:20
조회수
4,605

WITH
  T AS (
    SELECT 1 AS SEQ, '758345' AS NO , 33860 AS AMT, '' AS BIGO FROM DUAL UNION ALL
    SELECT 2, '758345',  33860 ,'' FROM DUAL UNION ALL
    SELECT 3, '758345', -33860, '' FROM DUAL UNION ALL
    SELECT 4, '758345',  33860, '' FROM DUAL UNION ALL
    SELECT 5, '758345', -33860, '' FROM DUAL UNION ALL
    SELECT 6, '758345',  33860, '' FROM DUAL
  )
  SELECT * FROM T

NO별로 AMT 합이 0이되는 것들만 을 중복처리하고 싶습니다.
예를 들면 2,3번 5,6번 혹은 1,3번 2,5번 이렇게 합이 0이되는 것들만 골라낼수 없을까여?
FOR문을 돌리면서 UPDATE칠수도 있지만, 실은 건수가 굉장히 많아서 부담스럽습니다.
고수 여러분의 도움이 필요합니다.
한번 봐주시고 답변주시는분께 미리 감사드립니다.
 

이 글에 대한 댓글이 총 1건 있습니다.
WITH t AS
(
SELECT 1 AS seq, '758345' AS no, 33860 AS amt FROM dual
UNION ALL SELECT 2, '758345',  33860 FROM dual
UNION ALL SELECT 3, '758345', -33860 FROM dual
UNION ALL SELECT 4, '758345',  33860 FROM dual
UNION ALL SELECT 5, '758345', -33860 FROM dual
UNION ALL SELECT 6, '758345',  33860 FROM dual
)
SELECT no
     , MIN(seq) seq_1
     , MAX(seq) seq_2
  FROM (SELECT no, seq, amt
             , ROW_NUMBER() OVER(PARTITION BY no, amt ORDER BY seq) rn
          FROM t
        )
 GROUP BY no, ABS(amt), rn
HAVING SUM(amt) = 0
 ORDER BY no, seq_1
;
마농(manon94)님이 2011-07-26 13:25에 작성한 댓글입니다.
이 댓글은 2011-07-26 13:26에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
38739반복되는 특정문자열 한개만 두고 삭제할수있을까요? [2]
이동호
2011-07-26
4248
38738쿼리문의 [2]
레이첼
2011-07-26
4197
38737CREATE TABLE ~ AS SELECT 시 컬럼 크기 변경 [2]
장동신
2011-07-26
4615
38736중복제거 질문 ^^ 급합니다. [1]
이병헌
2011-07-26
4605
38735세로를 가로로 변환하는 쿼리_재문의 [6]
레이첼
2011-07-25
12274
38733여러개 컬럼값중 상위 2개값 가져 오기 [1]
박상준
2011-07-25
5312
38732이상하게 안되는 조인..ㅠ [3]
후덜덜
2011-07-25
4250
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다