3 이 의미하는게 뭔가요?
- 나누어진 값 3 을 의미하는 건가요?
- 나누어진 행 3 을 의미하는 건가요?
4 이면 결과가 어떻게 나와야 하나요?
by 리리리1
[2021.10.06 14:25:07]
아 제가 봐도 헷갈리네요 죄송합니다.
변수는 분할이라고 생각하시면 될거같아요 . 변수3은 3분할 4면4분할
말씀하신 4라면 2.5 2.5 2.5 2.5 이런식으로 나와야 하는거죠
3이라면 3,3,3 에 나머지 값을 1을 마지막에 넣어주는거요
by 마농
[2021.10.06 14:27:43]
또 헷갈리는데요.
왜 4 일때는 소수점이 나오고?
왜 3 일때는 소수점이 안나오나요?
by 리리리1
[2021.10.06 14:30:30]
아 예를 들은 거에요 테이블에 저장된 고정값이 10이라는 전제하에
by 마농
[2021.10.06 14:33:45]
규칙은 동일하게 적용되어야 합니다.
예시는 정확하게 들어 주셔야 합니다.
by 리리리1
[2021.10.06 14:45:06]
변수에 따른 균등분할이고 마지막 row에 나머지를 포함한 값으로 보정하는 거라고 생각하시면 될 거 같습니다.
by 마농
[2021.10.06 14:50:17]
"변수에 따른 균등분할이고 마지막 row에 나머지를 포함한 값으로 보정하는 거"라고 생각합니다.
다만. 케이스별 결과물 예시자료가 기준이 왔다갔다 하고 있습니다.
3 일 때는 정수 처리하고 4 일 때는 소수점 처리 하고 기준이 다릅니다.
어떤 값이 오든 똑같은 기준으로 처리되어야 할 것입니다.
기준이 명확하게 정해져야 답을 드릴 수 있습니다.
by 리리리1
[2021.10.06 14:57:52]
앞에서 부터 보니 제가 질문 및 답변을 잘못한거 같긴 하네요 죄송합니다.
정수로 균등분할을 하고 마지막 row에만 보정을 하면 됩니다.
by 마농
[2021.10.06 15:00:33]
그럼 10을 4개 행으로 나누면 ( 2, 2, 2, 4 ) 가 되면 되겠군요.
by 리리리1
[2021.10.06 15:01:02]
네 맞습니다
by 마농
[2021.10.06 15:02:33]
WITH t AS
(
SELECT tot
, cnt
, 1 num
, tot / cnt val
FROM (SELECT 10 tot, 4 cnt) a
UNION ALL
SELECT tot
, cnt
, num + 1 num
, CASE num + 1 WHEN cnt THEN tot - val * num ELSE val END val
FROM t
WHERE num < cnt
)
SELECT * FROM t
;
by 리리리1
[2021.10.06 15:03:35]
정말 감사합니다 참고 해보도록 하겠습니다.!!
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.