이 문제는 누락 된 값을 나머지 사용 가능한 값에서 결정한 예상 값으로 대체해야하는 많은 실제 상황에서 발생합니다. 나는 N 값을 가질 수있는 C1, ..., Cn과 같은 열 A의 평균을 계산하려고합니다. 하나의 열이 null 일 때마다 계산 된 평균을 다른 열에있는 값 이상으로 바꾸고 null 열을 제외 시키려고합니다. 예를 들어, 3 개의 열 (c1, C2 및 C3)이있는 경우 세 개의 열 모두에 값이있는 경우이 세 열의 하위 그룹에 대한 평균을보고하고 싶습니다. 세 번째 열의 한 열이 누락되면 다른 두 열의 값에 대한 평균이 계산됩니다. 두 번째 열도 누락 된 경우 평균은 한 열의 값만 계산됩니다.명령에 의한 진행 그룹
그래서 하나 개의 응답이 단지보고이다
Select Avg(A) as AvgA
From Table
Group by C1, C2, and C3
상황에 C3가 null C1 및 C2의 값을 V1 및 V2를 갖고, 여기서 그 AvgA 계산되어야로서 :
Select Avg(A) as AvgA
From Table
Where C1=v1 and C2=v2
Group by C1, C2
누구나 n 열 모두에 대해 자동으로이 작업을 수행하는 코드를 제공 할 수 있습니까? 일반적인 n 열 솔루션은 n-1 Group By 열을 사용하고 null 인 하나의 열을 삭제할 수 있어야합니다. n-1 Group-By는 v1에서 vn-1 값까지 평가해야합니다.
일부 샘플 데이터와 예상 결과 우트 당신을 돕는 먼 길을 간다. –