#title 각 로우 값 사칙연산 오.. 간만에 커뮤니티에 좋은 자료가 올라왔다. 원문은.. http://www.sqler.com/264055#11 {{{ ************************************************************************************** 개념1: A = EXP(LOG(A)) 지수와 로그의 관계 개념2: LOG(A*B) = LOG(A) + LOG(B) : http://duchii.tistory.com/31 개념3: LOG(A/B) = LOG(A) - LOG(B) 기준값구분: (CASE WHEN 첫번째값 THEN 1 ELSE -1 END) ************************************************************************************** 덧셈: SUM() 뺄셈: 처음값(기준값) 이외의값은- 임으로CASE 문을이용첫번째값이외는-1 을곱한다. 순서값이 중요. 곱셉: 개념1와개념2를적용. 각행의컬럼값을LOG 로해서합을낸다음EXP 로묶어주면곱이된다. 나눗셈:개념1과개념3을적용. 뺄셈의원리기준값이외는- 처리 순서값이 중요. ************************************************************************************** 어째 설명이 더 복잡하네요... WITH TEST as ( select 1 idx, 600 VAL union all select 2 idx, 30 union all select 3 idx, 2 ) SELECT -- 600 + 30 + 2 SUM( VAL) PLUPOINT , -- 600 - 30 - 2 SUM((CASE WHEN IDX = 1 THEN 1 ELSE -1 END ) * ( VAL )) SUBPOINT , -- 600 * 30 * 2 EXP(SUM(LOG(VAL))) MULPOINT , -- 600 / 30 / 2 EXP(SUM((CASE WHEN IDX = 1 THEN 1 ELSE -1 END ) * LOG(( VAL) ))) DIVPOINT FROM TEST }}} {{{ select exp(log(10) + log(5)) [10 * 5] , exp(log(10) - log(5)) [10 / 5] }}}