본문 바로가기
MySql

MySQL 단일 행에서 여러 열의 AVG를 선택하는 방법

by 베이스 공부 2020. 10. 27.
반응형

여러 열의 평균을 선택하려면 어떻게합니까?

다음과 같은 데이터가 있다고 가정합니다.

X   Y    Z
-------------
6   3    3
5   5    NULL
4   5    6
11  7    8

나는 같은 것을 얻고 싶다.

AVG
-------------
4
5
5
8.66666667

select avg (x, y, z) from table 을 시도했습니다.

하지만 작동하지 않습니다.

쿼리에 대한 아이디어가 있습니까?

 

해결 방법

 

시험

 Select     (Coalesce(x,0) + Coalesce(y,0) + Coalesce(z,0)) /
       (Coalesce(x/x, 0) + Coalesce(y/y, 0) + Coalesce(z/z, 0))

또는

 Select (Coalesce(x,0) + Coalesce(y,0) + Coalesce(z,0)) /
         (Case When x Is Null 0 Else 1 End +
          Case When y Is Null 0 Else 1 End +
          Case When z Is Null 0 Else 1 End)

 

참조 페이지 https://stackoverflow.com/questions/4268760

 

 

반응형

댓글