Autor Zpráva
deno
Profil *
mam takyto problem..hm skusim priklad :)

mam polia
|int|result|
| 5 | 0 |
| 2 | 1 |
| 1 | 1 |

potrebujem scitat polia tam kde je result 1 a odcitat tam kde je result 0
cize 5-2+1 a neviem ako :) potrebujem bodla tohto vysledku aj radit, tak nerad by som to odpocitaval v php, chcem aby mi rovno databaza vratila vysledok..

takze toto mi vrati co potrebujem, i ked to dufam pojde aj jednoduchsie :)
SELECT (SELECT sum(int) FROM table WHERE result = 1) - (SELECT sum(int) FROM table WHERE result = 0)) as vysledok FROM table

ale ak neexistuje hodnota pre result 0 alebo 1 napr

|int|result|
| 5 | 1 |
| 2 | 1 |
| 1 | 1 |

tak to vrati NULL lebo podla db je 8 - null = null
neda sa nejak donutit aby null bola 0?:)
Keeehi
Profil
A co to do toho intu ukládat takto:
|-5|
| 2|
| 1|

Pak ti bude fungovat sum a sloupec result ani potřebovat nebudeš.
deno
Profil *
to mi je jasne, ale to nejde v inom pripade su to kladne hodnoty, len koli nejakej statistike to potrebujem odcitat v jedinom pripade... ak nic nevymyslim tak tam pridam este UNION na nejaku 0 aby tam bola 0 nie null :))) alebo predsa to vratim v dvoch stplcoch a radit bude php, no do toho sa mi vobec nechce :)) no prave ma napadlo, vytvorit docasnu tabulku, ta by to snad vyriesila
Keeehi
Profil
Můžete do podmínky přidat, že se mají řádky s null vynechávat.
WHERE result = 1 AND int IS NOT NULL
deno
Profil *
hej ale ak nieje ziadny tak bude vysledok null, ale akurat som nasiel ze existuje aj

IFNULL

napr SELECT bla, IFNULL(int,"0"), ... toto vediet skor usetrim si tak hodku patrania :))

diky za pomoc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0