RN |
총합 |
가중치 |
가중치적용 |
반올림 |
원하는결과 |
1 |
40 |
1 |
4.761904762 |
5 |
4 |
2 |
40 |
0.6 |
2.857142857 |
3 |
2 |
3 |
40 |
1 |
4.761904762 |
5 |
5 |
4 |
40 |
1 |
4.761904762 |
5 |
5 |
5 |
40 |
0 |
0 |
0 |
0 |
6 |
40 |
1 |
4.761904762 |
5 |
5 |
7 |
40 |
1 |
4.761904762 |
5 |
5 |
8 |
40 |
1 |
4.761904762 |
5 |
5 |
9 |
40 |
0 |
0 |
0 |
0 |
10 |
40 |
0.6 |
2.857142857 |
3 |
3 |
11 |
40 |
0.6 |
2.857142857 |
3 |
3 |
12 |
40 |
0.6 |
2.857142857 |
3 |
3 |
|
|
8.4 |
|
42 |
40 |
총합에 가중치를 적용하여 반올림을 해서 다시 SUM을 하면 42가 나옵니다
이걸 첫번째 로우부터 순차적으로 -1을 하여 총합이 40이 되도록 쿼리로 가능할까요?
만일 반올림한 총합이 40보다 적을경우 순차적으로 더하기도 가능하도록 부탁드립니다.
SELECT 1 RN, 40 TOT, 1 POINT, 4.761904762 DIV_POINT, 5 R_POINT FROM DUAL
UNION ALL SELECT 2, 40, 0.6, 2.857142857, 3 FROM DUAL
UNION ALL SELECT 3, 40, 1, 4.761904762, 5 FROM DUAL
UNION ALL SELECT 4, 40, 1, 4.761904762, 5 FROM DUAL
UNION ALL SELECT 5, 40, 0, 0, 0 FROM DUAL
UNION ALL SELECT 6, 40, 1, 4.761904762, 5 FROM DUAL
UNION ALL SELECT 7, 40, 1, 4.761904762, 5 FROM DUAL
UNION ALL SELECT 8, 40, 1, 4.761904762, 5 FROM DUAL
UNION ALL SELECT 9, 40, 0, 0, 0 FROM DUAL
UNION ALL SELECT 10, 40, 0.6, 2.857142857, 3 FROM DUAL
UNION ALL SELECT 11, 40, 0.6, 2.857142857, 3 FROM DUAL
UNION ALL SELECT 12, 40, 0.6, 2.857142857, 3 FROM DUAL
|