ne I'am durumu:Garip MySQL AVG() anomali NULL değerleri
create table sample (id INT(10) PRIMARY KEY AUTO_INCREMENT,name varchar(255),marks INT(10));
insert into sample (name,marks) VALUES('sam',10);
insert into sample (name,marks) VALUES('sam',20);
insert into sample (name,marks) VALUES('sam',NULL);
insert into sample (name,marks) VALUES('sam',NULL);
insert into sample (name,marks) VALUES('sam',30);
select AVG(marks) from sample GROUP BY(name);
ÇIKIŞ BEKLEDİĞİMDEN:
AVG = (10 + 20 + 30)/5 = 12
MYSQL OF
ÇIKIŞ:
AVG = (10 + 20 + 30)/3 = i MYSQL 5 satır toplamını almak ve 5. bölerek, ancak yalnızca 3 ile böler gerektiğidir istediğini İdeal neyi 20
(NULL olmayan satırlar)
Neden böyle oluyor ve doğru AVG'yi elde etmek için ne yapabilirim? PS: İşaretleri alan yapamam NULL, db tasarımımda işaretler alanının NULL olmasına izin verilir. NULL
numara 0
aynı değildir çünkü
i mySQL gibi =/(nos sütunların toplamı AVG gerçekleştirilen izlenim oldu, bu çözüm yardımcı benim cevaba :) – Kaii
sayesinde @Kaii daha açıklama ve referanslar eklendi sonuçta) –