아래와 같은 레코드 구성으로 되어 있는 집합에서 그룹의 가중평균? 가중치? 를 구하는 요건입니다.(정렬:참가자의 몸무게 순으로 오름차순임)
****************************아 래*************************************
그룹 cut-line(kg) 참가자 몸무게(kg) 목표 보행길이(km)
========================================================================
날씬이 45 내사랑 40 600 260
------------------------------------------------------------------------
" " 안먹어 50 600 250
------------------------------------------------------------------------
" " 때깔귀신 60 600 150 (case1)
------------------------------------------------------------------------
" " 아디다스 70 600 70 (case2)
***********************************************************************
case when 참가자1 의 보행길이 >= 그룹의 목표마라톤 코스(즉,600) then
(보행자1의 몸무게* 600)
else 보행자1의 (보행길이 * 몸무게) +
case when 보행자(1+2)보행길이 >= 600 then
(600- 보행자1의 보행길이) * 보행자2의 몸무게
else case when 보행자(1+2+3) 보행길이 >= 600 then
(600- 보행자1의 보행길이-보행자2의 보행길이) * 보행자3의 몸무게
.......레코드 수만큼 계산 / 그룹 목표 마라톤 코드 600
말로 표현하기가 쉽지 않네요.. 식으로는 이렇게 입니다.
ax+ by + cz +......n?
-------------
bunmo
(단,bunmo = x+y+z+...? , 위의 예에서와 같이 ,case 1만 있을수도 있고,또 case2까지 있을수도 있습니다. 즉 레코드중 보행길이가 그룹을 미달할수도 또 초과할수도
있습니다.)
이것을 sum()over 함수를 이용해서 목표치와 비교하면서 검증하고 있는데,
혼란스럽습니다.
급한 일인데 좀 도와주십시요. 넙쭉
감기조심하세요.
|