Mysql mezők átlaga számított mezőbe

Mysql mezők átlaga számított mezőbe
2020-07-02T11:52:40+02:00
2020-07-02T14:04:46+02:00
2022-10-15T21:26:23+02:00
gyendresz
Sziasztok,

Feladat: öt mező átlagának kiszámítása egy számított mezőbe.

CREATE TABLE adatok (gdate datetime DEFAULT NULL COMMENT '', vdate datetime DEFAULT NULL COMMENT '',v1 decimal(4,1) DEFAULT NULL COMMENT '', v2 decimal(4,1) DEFAULT NULL COMMENT '', v3 decimal(4,1) DEFAULT NULL COMMENT '0', v4 decimal(4,1) DEFAULT NULL COMMENT '', v5 decimal(4,1) DEFAULT NULL COMMENT '', atlag decimal(4,1) GENERATED ALWAYS AS ((v1+v2+v3+v4+v5)/5), PRIMARY KEY (vdate) )ENGINE = innodb ROW_FORMAT = DEFAULT CHARACTER SET utf8 COLLATE utf8_hungarian_ci ;
Ez addig jó, amíg valamelyik mező nem null.

Hogy tudom kivédeni a nullokat és kihagyni az osztóban?

Köszi:EGY
Mutasd a teljes hozzászólást!
Szia!

((v1+v2+v3+v4+v5)/5)
helyett

(( ifnull(v1,0) + ifnull(v2,0) + ifnull(v3,0) + ifnull(v4,0) + ifnull(v5,0) ) / nullif( if(v1 is null, 0, 1) + if(v2 is null, 0, 1) + if(v3 is null, 0, 1) + if(v4 is null, 0, 1) + if(v5 is null, 0, 1) , 0))
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd