Ik wil met php wat gemiddelden uit een MySQL-database ophalen en verwerken in een html-tabel.
De data bestaat in principe uit 1-en en 0-en. Ik wil van iedere kolom de gemiddelde waarde hebben. Dus ik doe
Nu is het probleem dat er in sommige gevallen NULL staat i.p.v. 1 of 0. Wat ik wil, is dat deze NULL-waarden wel worden meegenomen in de gemiddelde-berekening, maar dat deze meetellen als waarde 1.
Dus het gemiddelde van 1, 1, 0 en NULL moet 0,75 opleveren.
Het wijzigen van de data in de database zelf is geen optie.
Ik zit eraan te denken om gewoon het totaal aantal waarden te tellen, dan het aantal 0-en (dat moet neem ik aan kunnen in MySQL) en op die manier het gemiddelde uit te rekenen.
Maar heeft MySQL misschien een eenvoudiger manier?
De data bestaat in principe uit 1-en en 0-en. Ik wil van iedere kolom de gemiddelde waarde hebben. Dus ik doe
code:
1
| SELECT avg(`score1`) FROM `tabel` WHERE etc. |
Nu is het probleem dat er in sommige gevallen NULL staat i.p.v. 1 of 0. Wat ik wil, is dat deze NULL-waarden wel worden meegenomen in de gemiddelde-berekening, maar dat deze meetellen als waarde 1.
Dus het gemiddelde van 1, 1, 0 en NULL moet 0,75 opleveren.
Het wijzigen van de data in de database zelf is geen optie.
Ik zit eraan te denken om gewoon het totaal aantal waarden te tellen, dan het aantal 0-en (dat moet neem ik aan kunnen in MySQL) en op die manier het gemiddelde uit te rekenen.
Maar heeft MySQL misschien een eenvoudiger manier?