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 40847 게시물 읽기
No. 40847
오라클 쿼리 문의
작성자
초보
작성일
2015-07-07 09:39
조회수
7,694

안녕하세요....  많은 도움 받고 있는 초보 입니다.

한가지 문의 사항이 있어서요.....

select 에서 보통 가장 큰 값을 가져 오기 위해서 max 를 사용하는데요.... 이게 양수 일때는 문제가 없는데.. 음수일때가 문제입니다.

즉 -10과 -20 있으면 저는 -20 을 가져와야 하고, 당연히 양수 일때는 큰 값을 가져 오고 싶은데요.. 이걸 max 로 처리 하려다 보니....

이걸 하나의 컬럼에 적용하기 어렵습니다.

뭔가 오라클 function 같은게 있을 까요?

부탁 드립니다.

감사합니다.

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

양수끼리만 있는 경우 (10, 20 --> 20)
음수끼리만 있는 경우 (-10, -20 --> -20)
양수와 음수가 뒤섞인 경우엔 어떤 결과가 나와야 할까요?
(10, -20 --> ?)
(20, -10 --> ?)
(20, -20 --> ?)
( 0, -20 --> ?)

마농(manon94)님이 2015-07-07 10:00에 작성한 댓글입니다.

아 마농님.. 답변 정말 감사 드립니다.

컬럼은 하나로 표현되고요.... 음수와 양수가 뒤섞일 일은 없습니다.

그 하나의 컬럼에 양수가 나올 수 있고, 음수가 나올 수 있습니다.

값을 비교 할 껀데요.. 비교는 양수는 양수로 음수는 음수로 하게 됩니다.

정말 감사합니다.

초보님이 2015-07-07 10:10에 작성한 댓글입니다. Edit

WITH t AS
(
SELECT 1 gb, 10 v FROM dual
UNION ALL SELECT 1,  20 FROM dual
UNION ALL SELECT 2, -10 FROM dual
UNION ALL SELECT 2, -20 FROM dual
)
SELECT gb
     , CASE WHEN MAX(v) >= 0 THEN MAX(v) ELSE MIN(v) END v
  FROM t
 GROUP BY gb
;

마농(manon94)님이 2015-07-07 10:16에 작성한 댓글입니다.

이렇게 간단할 수가.. ㅜㅜ....

모르는 게 죄네요... 개발자가 아니다 보니.. 모르는 거 천지네요..

마농님.. 진심으로 감사 드립니다.

건승하세요...

초보님이 2015-07-07 10:29에 작성한 댓글입니다. Edit

SELECT gb , MAX(ABS(V)) V

FROM t

GROUP BY gb

;

곽성일(zvvvvvz)님이 2015-07-08 14:24에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40850Database Time Spent Waiting 이게 무슨뜻인가요? [1]
염정훈
2015-07-08
7681
40849윈도우xp oracle 9i client 설치 방법좀 알려주세요 ㅜㅜ
곽정남
2015-07-07
7359
40848도와 주세욤.... 제발... [10]
도와 주세욤
2015-07-07
7507
40847오라클 쿼리 문의 [5]
초보
2015-07-07
7694
40846오라클 9i에서 11g로 업글 하고 난후 프로시저 오류 [1]
염정훈
2015-07-06
7656
40845LEFT JOIN 에서 일반적인 콤마 조인으로 변경 질문드립니다. [1]
김희성
2015-07-03
7795
40844오라클 -> mysql [1]
김다윗
2015-07-03
7822
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다