Saako Mysql:llä tietyt luvut tms. laskettua useammasta kohdasta yhteen jos ne ovat tietyn suuruisia?
Esim. tässä tapauksessa haluaisin laskea kaikki 0:ta yhteen eli luku1=1 (yksi nolla), luku2=0 (ei nollia), luku3=2 (2 nollaa), luku4=(ei nollia), luku5 = 2 (kaksi nollaa).
Tietokanta
id = 1
luku1 = 0
luku2 = 5
luku3 = 0
luku4 = 1
luku5 = 0
id = 2
luku1 = 1
luku2 = 5
luku3 = 0
luku4 = 1
luku5 = 0
Esim. tässä tapauksessa haluaisin laskea kaikki 0:ta yhteen eli luku1=1 (yksi nolla), luku2=0 (ei nollia), luku3=2 (2 nollaa), luku4=(ei nollia), luku5 = 2 (kaksi nollaa).
Tietokanta
id = 1
luku1 = 0
luku2 = 5
luku3 = 0
luku4 = 1
luku5 = 0
id = 2
luku1 = 1
luku2 = 5
luku3 = 0
luku4 = 1
luku5 = 0
Vastaukset 4
Vanhimmat
Vaikka näin http://www.tizag.com/mysqlTutorial/mysqlsum.php.
Eikös sum-funktio toimi ainoastaan yhteenlaskemisessa?
Siis idea olisi tavallaan countata kaikki 0-tiedot, mutta jos niitä on useammassa kohdassa niin millä tavalla tuo onnistuu helpoiten?
Sum-funktiohan laskee luvut vain yhteen.
Tämähän se piti olla http://www.tizag.com/mysqlTutorial/mysqlcount.php.
Mitenkäs sen saa countilla toimimaan oikein? Tai ei ainakaan saa toimimaan yhdellä kyselyllä? Eli pitäisi tehdä jokaiselle tiedolle oma kysely?
Koska jos valitsee esim. count(luku1) as luku1nollat FROM tietokanta WHERE luku1=0 OR luku2=0... Se counttaa nekin tiedot joissa luku1 on muuta kuin nolla.
Tietysti jos tekee jokaisen kyselyn erikseen eli jokaiselle luvulle oma kysely niin silloin se onnistuisi, mutta kyselyitä pitäisi tehdä kymmeniä tuolla tavalla.