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 40525 게시물 읽기
No. 40525
초보의 쿼리 질문이예요 ^^
작성자
부강
작성일
2014-07-14 18:32
조회수
6,912

SELECT CNT , TEST1, TEST2
, CASE WHEN TEST1 <> 0 THEN  TEST2-TEST1 END AS RESULT

FROM (
SELECT '1' AS  CNT, 1 AS TEST1, 10 AS TEST2 FROM DUAL
UNION ALL
SELECT '1' AS  CNT, 1 AS TEST1, 20 AS TEST2 FROM DUAL
UNION ALL
SELECT '1' AS  CNT, 1 AS TEST1, 30 AS TEST2 FROM DUAL
UNION ALL
SELECT '2' AS  CNT, 2 AS TEST1, 10 AS TEST2 FROM DUAL
UNION ALL
SELECT '2' AS  CNT, 2 AS TEST1, 20 AS TEST2 FROM DUAL
UNION ALL
SELECT '2' AS  CNT, 2 AS TEST1, 30 AS TEST2 FROM DUAL
)
order by cnt, test2 desc
;

 제가 원하는 쿼리 결과값은 아래와 같습니다.   "cnt" 별로 test2 값이 제일 큰 값에 test1을 빼는 값을 result로 표시하는 값을

원하는데 위에 쿼리에서 어떻게 수정해야 할까요?

cnt

test1 test2 result
1 1 30 29
1 1 20 20
1 1 10 10
2 2 30 28
2 2 20 20
2 2 10 10

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

SELECT CNT , TEST1, TEST2, DECODE(RN, 1, (TEST2-TEST1), TEST2) AS RESULT
FROM (
        SELECT CNT , TEST1, TEST2
         --, CASE WHEN TEST1 <> 0 THEN  TEST2-TEST1 END AS RESULT
         , ROW_NUMBER() OVER(PARTITION BY CNT ORDER BY TEST2 DESC) RN
        FROM (
         SELECT '1' AS  CNT, 1 AS TEST1, 10 AS TEST2 FROM DUAL
         UNION ALL
         SELECT '1' AS  CNT, 1 AS TEST1, 20 AS TEST2 FROM DUAL
         UNION ALL
         SELECT '1' AS  CNT, 1 AS TEST1, 30 AS TEST2 FROM DUAL
         UNION ALL
         SELECT '2' AS  CNT, 2 AS TEST1, 10 AS TEST2 FROM DUAL
         UNION ALL
         SELECT '2' AS  CNT, 2 AS TEST1, 20 AS TEST2 FROM DUAL
         UNION ALL
         SELECT '2' AS  CNT, 2 AS TEST1, 30 AS TEST2 FROM DUAL
         )
)

박성빈(빈이님)님이 2014-07-15 13:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40528쿼리 질문입니다. [1]
쿼리 qa
2014-07-17
7216
40527계층 쿼리에서 부모와 자식의 데이터가 일치하는 자료는 .. [4]
성석준
2014-07-16
9305
40526월별 통계 쿼리 도움좀 부탁드립니다. [1]
염진호
2014-07-16
8413
40525초보의 쿼리 질문이예요 ^^ [1]
부강
2014-07-14
6912
40524두개 이상의 칼럼에서 표준편차 구하는 방법이 궁금합니다. [2]
이용헌
2014-07-11
7444
40523간단한 쿼리 질문 [1]
버기
2014-07-11
7388
40522쿼리 머지 기능이긴 한데... 간단히 처리 가능한지 [2]
쩌그노트
2014-07-11
7360
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다