Autor Zpráva
fik
Profil *
mám databázi kde vybírám sloupce hodnocení ano a ne. a další sloupec s hodnotama, ze kterých pomocí příkazu $dotazhodnota = "SELECT SUM (Vynos2007) AS sum_Vynos2007 FROM Dotaz1k "; dělám součet. ALe potřeboval bych poradit jak pomocí select sum napsat aby udělal součet za jednotlivá hodnocení ano a ne. Vím že to bude asi pomocí příkazu where ale nějak se mi nedaří zprovoznit.
peta
Profil
fik
Diskuse » Jak něco udělat? » Než založíte nové téma, přečtěte si!
Podminkou odpovedi je prave spravne zarazeni tematu do kategorie.
Cili v PHP je tento problem neresitelny.

mm.gene.cz
google.com mysql manual
ze by WHERE Vynos2007='Ano' ?
:)
Joker
Profil
peta
ze by WHERE Vynos2007='Ano' ?
Že by ne?

fik
Jak přesně to chcete udělat? Jak máte uložené hodnocení?
Pokud chcete součet po jednotlivých skupinách v nějakém sloupci, tak GROUP BY sloupec
fik
Profil *
mám
$dotaz = "SELECT hodnoceni, Vynos2007 FROM tabulka WHERE hodnoceni like '%$hodnoceni%' ORDER BY hodnoceni ";
jelikož mám možnost výberu ano ne, nebo vše setříděne dle ano či ne
A pak dělám selec sum celkový součet ten je ok pomocí
$dotazhodnota = "SELECT SUM (Vynos2007) AS sum_Vynos2007 FROM tabulka ";
jenže potřebuji aby mi hodnoty ve vynos2007 sečetl i dle hodnocení ano ne
Joker
Profil
fik
Tak tam přidejte GROUP BY hodnoceni
fik
Profil *
to už jsem zkoušel vyhodí mi to nějakou hodnotu jestli je to soušet hodnot za ano co pak mám udělat aby mi to vypsalo hodnotu za všechny ne
Kajman_
Profil *
Je to ve více řádcích, nekoukejte jen na první z nich.

select hodnoceni, sum(vynos2007) soucet from tabulka group by hodnoceni
fik
Profil *
ok už se mi to podařilo, ale mám druhý problém.
vypisuji data, řadí pod sebe dle hodnocení ano ne, ale potřebuji aby se po výpis kde končí ano udělal mezisoučet za ano, dál pokračoval ve výpisu ne a pod to mezisoučet za ne a pod to celkový součet za ano a ne
nazorně

ano 25,-
ano 20,-
ano 15,-
součet za ano 60,-
ne 35,-
ne 15,-
ne 10,-
součet za ne 60,-
celkový součet 120,-
Alphard
Profil
to už bych nechal na PHP
při výpisu kontrolujte hodnocení, dokud se == "ano", tak přičítejte součet, třeba $mezi_soucet += $soucet; a tak dále
Kajman_
Profil *
V mysql by to mohlo jít takto nějak
select concat(if(id<=>null,'součet ',''),ifnull(hodnoceni,'celkem')) hodnoceni, sum(vynos2007) soucet from tabulka group by hodnoceni, id with rollup


viz.
http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

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: