반응형
Oracle : 동일한 행의 서로 다른 열에서 최대값을 선택합니다.
모든 질문이 제목에 거의 다 들어있다.표의 각 행에 대해 열의 부분 집합의 최대값을 선택합니다.
예를 들어, 이 테이블에서
name m1 m2 m3 m4
A 1 2 3 4
B 6 3 4 5
C 1 5 2 1
결과는 다음과 같습니다.
name max
A 4
B 6
C 5
쿼리는 호환되는 oracle 8i여야 합니다.
이 테스트 데이터가 주어지면...
SQL> select *
2 from your_table
3 /
NAME M1 M2 M3 M4
---- ---------- ---------- ---------- ----------
A 1 2 3 4
B 6 3 4 5
C 1 5 2 1
SQL>
...직접 GREATE() 호출은 원하는 결과를 제공합니다.
SQL> select name
2 , greatest(m1, m2, m3, m4) as the greatest_m
3 from your_table
4 /
NAME THE_GREATEST_M
---- --------------
A 4
B 6
C 5
SQL>
주의:greatest()
는 인수 중 하나가 null인 경우 NULL을 반환합니다.문제가 있는 경우는,nvl()
결과를 왜곡하지 않는 디폴트값을 제공합니다.예를 들어 값이 음수일 수 없는 경우...
SQL> select name
2 , greatest(nvl(m1,0), nvl(m2,0), nvl(m3,0), nvl(m4,0)) as the greatest_m
3 from your_table
4 /
NAME THE_GREATEST_M
---- --------------
A 4
B 6
C 5
SQL>
사용하다GREATEST
또한 가능한 한NULL
의
SELECT name, GREATEST(NVL(m1,0), NVL(m2,0), NVL(m3,0), NVL(m4,0)) AS "Max"
FROM yourtable
입력:
name m1 m2 m3 m4
A 1 2 3 4
B 6 3 4 5
C 1 5 2 1
출력:
NAME Max
A 4
B 6
C 5
SQL Fider: http://sqlfiddle.com/ #!4/ae268/7/0
입력:
name m1 m2 m3 m4
A 1 2 3 null
B 6 null 4 5
C 1 5 2 1
출력:
NAME Max
A 3
B 6
C 5
SQL Fidle: http://sqlfiddle.com/ #!4/b1c46/1/0
언급URL : https://stackoverflow.com/questions/2928102/oracle-select-maximum-value-from-different-columns-of-the-same-row
반응형
'IT' 카테고리의 다른 글
구성 요소를 JSX 구성 요소로 사용할 수 없습니다.반환 형식 'Element[]'는 올바른 JSX 요소가 아닙니다. (0) | 2023.02.18 |
---|---|
동일한 쿼리에서 모든 열과 개수(*)를 선택하는 방법 (0) | 2023.02.14 |
동일한 페이지에서 두 개의 개별 Angular js 앱을 실행하는 방법 (0) | 2023.02.14 |
가치와 같은 이름의 리액트 소품 (0) | 2023.02.14 |
Wordpress는 언제 메타박스에 hide-if-js 클래스를 추가합니까? (0) | 2023.02.14 |