평균을 수행해야하지만 그 열의 값은 대부분 0입니다. 가능한 모든 행 중에서 2 개만 양수 값을 가질 것입니다. 어떻게하면 0을 무시하고 실제 값만 평균화하도록 mySQL에 지시 할 수 있습니까?0을 무시하는 Mysql AVG
답변
는
SELECT AVG(NULLIF(field ,0))
from table
(아마도 그들은 다른 컬럼의 값은 당신이 집계하려는이) 완전히 같은 행을 배제하지 할 수 있다는 가정
당신은 아마 WHERE 절을 통해 그것을 통제 할 수 :
select avg(field) from table where field > 0
필드가 0보다 큰 행만 내가 걱정하고있는 행입니다. 불행하게도이 경우 다른 위치에 있는지 확인해야하는 3 개의 다른 열이 있습니다. – Oranges13
select avg(your_column)
from your_table
where your_column != 0
다른 큰 평균 한 번에 끌어 오기 원하는 필드가 있다는 것을 제외하면 그 작동합니다. – Oranges13
NULL
으로 변환 할 수 있으며 AVG()
함수는 NULL
값으로 만 작동합니다.
UPDATE table SET column = NULL WHERE column='0';
SELECT AVG(column) FROM table;
Yeesh. 기존 데이터를 변경하여'SELECT' 작업을 하시겠습니까? 나는 토할 것 같아. –
- 1. MySQL : AVG AVG 불가능?
- 2. MySQL Int는 0을 제거합니다
- 3. MySQL : NOW() 0을 내게
- 4. MYSQL - AVG()와 DISTINCT를 함께 사용하기
- 5. AVG()를 사용하여 MySQL 테이블 조인
- 6. MySQL : GROUP_CONCAT, AVG 및 COUNT에 대한 문제
- 7. INTEGER로 MySQL 데이터베이스에 정수의 선행 0을 저장합니다.
- 8. MySQL : 행이 존재하지 않으면 0을 반환하십시오.
- 9. MySQL : MAX (AVG (field))를 계산할 수 있습니까?
- 10. SQL GROUP_CONCAT + SUM + AVG
- 11. SQL AVG (COUNT (*))?
- 12. MySQL의 AVG 쿼리 도움
- 13. MySQL : 양식 필드의 텍스트를 무시하는 이유는 무엇입니까?
- 14. tablename을 무시하는 MySQL 연결 매개 변수
- 15. mysql_errno는 항상 0을 반환합니다.
- 16. 크로스 쿼리 질문 - (sum & avg)
- 17. MDX AVG 기능 동적 사용
- 18. WCF 및 NetNamedPipeBinding - AVG Antivirus
- 19. 날짜 범위 내의 복잡한 AVG
- 20. MySQL을, AVG 및 카운트 질문
- 21. Where 절에있는 용어가 데이터베이스에없는 경우 MySQL 데이터베이스에서 0을 어떻게 반환합니까?
- 22. 목표 c 키 경로 연산자 @ avg, @max
- 23. MySQL의 AVG() 값이 모든 행에서 재설정되지 않습니다.
- 24. MySQL에서 GROUP BY와 SUM 및 AVG 결합하기
- 25. SQL Server AVG 함수가 이상 함
- 26. PHP STRPOS 함수가 0을 무시하지 못하도록 막습니다.
- 27. 앞에 오는 0을 내림
- 28. protobuf.net이 0을 직렬화하지 않음
- 29. GetPrivateProfileSectionNames는 항상 0을 반환합니다.
- 30. filesize()는 0을 반환합니까?
감사합니다. 아마도 가장 좋은 옵션 일 것입니다. 예, 다른 columnns에 값이 있습니다! – Oranges13
이 훌륭한 작동합니다 - 특히 귀하의 쿼리에 1 개 이상의 집계 함수가있는 경우 – Avishai