Autor Zpráva
kironet96
Profil
Zdravím,

chtěl bych se poradit, potřebují sečíst údaje v několika sloupcích z DB, ale s tím že uživatel si vybere měsíc + rok OD kdy to má začít sečítat, a měsíc + rok, do kdy to má začít sečítat.

např. sečtou se všechny hodnoty ve sloupcích hodnota1, hodnota2, hodnota3, když datum = srpen 2014 až září 2014.

V tabulce mám sloupec datum ve formatu date.
Takže datům tam je 2014-08-11, zkoušel jsem DATE('2014-08-11') ale to mi nevrátilo nic, ani chybu.

Sečetl jsem všechny hodnoty v sloupcich takto:

('SELECT SUM(hodnota1), SUM(hodnota2), SUM(hodnota3)  FROM '.TABLE.'')

Ale hlavu si lámu s tím datumem. Zaboha mi nic nefunguje.

Budu vděčný když mi někdo poradí.

Díky
Taps
Profil
kironet96:

SELECT SUM(hodnota1) as soucet1, SUM(hodnota2) as soucet2, SUM(hodnota3)as soucet3  FROM  tabulka BETWEEN '2014-08-01' AND '2014-09-31' GROUP BY id
Radek9
Profil
kironet96:
Ten sloupec data je normálně typu DATE? Jestli ano, tak je to celkem jednoduché:

WHERE YEAR(datum) = 2014 AND MONTH(datum) >= 8 AND MONTH(datum) <= 9

Pokud tam chceš porovnávat dny, jde to rovnou jako string:

WHERE datum >= '2014-08-01' AND datum <= '2014-09-30'
kironet96
Profil
Taps:
SELECT SUM(hodnota1) as soucet1, SUM(hodnota2) as soucet2, SUM(hodnota3)as soucet3  FROM  tabulka BETWEEN '2014-08-01' AND '2014-09-31' GROUP BY id

Radek9:
Ten sloupec data je normálně typu DATE? Jestli ano, tak je to celkem jednoduché:
>
>
WHERE YEAR(datum) = 2014 AND MONTH(datum) >= 8 AND MONTH(datum) <= 9
>
Pokud tam chceš porovnávat dny, jde to rovnou jako string:
>
>
WHERE datum >= '2014-08-01' AND datum <= '2014-09-30'

Oběma děkují takhle jednoduché, a já jsem v tom hledal něco složitého.

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