SQL: AVG(NULL 값 포함)
AVG() 함수는 NULL 값을 무시하는 것으로 알고 있습니다.
그래서 AVG(4,4,4,4,4,4,NULL) --> 4.
저 같은 경우에는 이런 일이 일어나지 않았으면 합니다.
저는 그런 솔루션이 필요합니다: AVG(4,4,4,4,4,NULL) --> 3,33
테이블 자체에서 NULL 값을 직접 바꾸지 않고 사용할 수 있습니다.
이것을 할 수 있는 방법이 있습니까?
사용하다coalesce()
null 열의 실제 값 0을 반환하는 방법
select avg(coalesce(some_column, 0))
from ...
AVG 동작에 대해 올바른 설명입니다. COALESCE를 사용하여 집계에서 NULL을 0으로 변환합니다.
이 답변은 "Oracle에서 SUM(null)이 0이 아닌 이유"를 참조하십시오.
이 동작에 대한 근거를 찾고 있는 경우 집계 연산자가 NULL 값을 무시하도록 지시하는 ANSI SQL 표준에서 찾을 수 있습니다.
관련 코드는 다음과 같습니다.
Avg(Coalesce(col,0))
사용할 수 있습니다.coalesce
또는nvl
또한. 그 이후로.coalesce
예는 이미 위에 주어졌습니다. 여기에 예가 있습니다.nvl
Avg(Nvl(Column_Name),0)
병합, Nvl, Nvl2 함수는 null 값을 처리하는 경우에 유용합니다.당신은 이것들에 대한 몇 가지 예시와 문서를 찾아봐야 합니다.
NVL, NVL2 또는 COALESCE를 사용하여 이 문제를 해결할 수 있습니다.
이와 같이 이중에서 avg(4,4,4,4,4,nvl(수직,0))를 선택합니다;
또 다른 가능성은 COUNT가 있는 집계 함수 SUM을 사용하여 평균을 계산하는 것입니다.
SELECT SUM(column_with_value) / COUNT(primary_column) FROM ...
언급URL : https://stackoverflow.com/questions/22220449/sql-avg-with-null-values
'it-source' 카테고리의 다른 글
VScode PHPCS 확장 오류: 참조된 Snip "WordPress-Core"가 없습니다. (0) | 2023.06.20 |
---|---|
GitHub 프로젝트에서 특정 커밋을 얻는 방법 (0) | 2023.06.20 |
Spring Context @Configuration에서 void 설정 방법 실행 (0) | 2023.06.20 |
vuex 저장소에서 "Uncaught TypeError: 정의되지 않은 속성 'get'을 읽을 수 없음"을 어떻게 해결할 수 있습니까? (0) | 2023.06.20 |
점이 너무 많은 산점도 (0) | 2023.06.20 |