Autor | Zpráva | ||
---|---|---|---|
deno Profil * |
#1 · Zasláno: 5. 11. 2010, 12:23:24
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 |
#2 · Zasláno: 5. 11. 2010, 12:47:16
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 * |
#3 · Zasláno: 5. 11. 2010, 12:55:34
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 |
#4 · Zasláno: 5. 11. 2010, 13:02:24
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 * |
#5 · Zasláno: 5. 11. 2010, 13:10:49
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 |
||
Časová prodleva: 13 let
|
0