Co I'am sposób:Strange MySQL średnia() wartości anomalii NULL
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);
napędzanych i Przewidywana
AVG = (10 + 20 + 30)/5 = 12
WYJŚCIE MySQL:
AVG = (10 + 20 + 30)/3 = 20
Idealnie co chciałem to, że MySQL powinien dostać sumę 5 rzędów i podzielić ją przez 5, ale dzieli tylko 3 (wiersze inne niż NULL)
Dlaczego tak się dzieje i co mogę zrobić, aby uzyskać prawidłowy AVG, czyli 60/5? PS: Nie mogę uczynić pola znaczników NOT NULL, w moim projekcie bazy danych pole znaków może mieć wartość NULL.
Dziękuję
dodaje jeszcze więcej wyjaśnień i odwołań do mojej odpowiedzi – Kaii
dzięki @Kaii które pomogły :) –