다음과 같이 정의 된 테이블이 있습니다.전체 합계를 변경하지 않고 단일 SQL 요청으로 열을 어떻게 순환시킬 수 있습니까?
create table #tbFoo
(bar float)
그리고 총합 (정수 또는 매우 알려진 것으로 변경하지 않고 열 막대에 포함 된 모든 값을 반올림하는 방법을 찾고 있습니다. float 숫자 정밀도로 인해 정수에 가깝습니다).
모든 값을 가장 가까운 정수로 반올림하는 것은 작동하지 않습니다 (예 : 1,5; 1,5는 1, 2 또는 2로 반올림 됨).
여러 요청을 사용하여 이것을 쉽게 수행 할 수 있습니다 (예 : 원래 합계 저장, 반올림, 새로운 합계 계산 및 원래 합계로 돌아 가기 위해 필요한만큼의 행 업데이트). 그러나 이것은 매우 우아한 해결책은 아닙니다.
단일 SQL 요청을 사용하여이를 수행하는 방법이 있습니까?
SQL Server 2008을 사용하고 있으므로이 특정 공급 업체를 이용하는 솔루션을 환영합니다.
편집 : 이전 값과 새로운 값의 차이를 최소화하는 요청을 찾고 있습니다. 즉, 더 큰 값을 반올림 한 값은 반올림하지 말아야하며 반대로 반올림하면
값을 반올림하지 말아야합니다.
좋은 질문입니다. 나는 그것을 블로그 포스트를위한 나의 todo 목록에 넣을 것이다. – Quassnoi