Autor | Zpráva | ||
---|---|---|---|
wabi Profil * |
#1 · Zasláno: 16. 10. 2011, 14:40:50
Ahoj,
mám takový problém, potřebuji, aby se mi spočítal průměr z nějaké množiny záznamů (se sloupcem pro datum), ale zvlášť pro každý den. To je ještě v pohodě, ale problém mi nastává, jelikož potřebuji, aby se mi vypsal samostatný řádek s hodnotou 0 i pro ty dny, ve kterých není žádný záznam uložen. Tyhle dny se mi ve výpisu zkrátka přeskakují a já potřebuji aby tam byly. Zde je dotaz, který aktuálně používám: SELECT datum, AVG(data) FROM tabulka WHERE datum BETWEEN '2011-9-22' AND '2011-9-30' GROUP BY datum ORDER BY id; +------------+---------------+ | datum | AVG(data) | +------------+---------------+ | 2011-09-24 | 2.3352 | | 2011-09-25 | 2.5714 | | 2011-09-26 | 2.5714 | | 2011-09-28 | 2.5714 | | 2011-09-30 | 2.4375 | +------------+---------------+ Jak je vidět, dnů potřebuji vypsat 8, ale jelikož pro některé neexistují žádné záznamy, nevýpíší se vůbec. Věděl by někdo jak tento dotaz upravit? Předem díky! |
||
Tori Profil |
#2 · Zasláno: 16. 10. 2011, 15:00:49
wabi:
Nechala bych to na skript, který ta data zobrazuje - bude zkoušet jednotlivé dni, jestli k nim existují data z DB, a když ne, tak zobrazí nulu. Koukněte na vlákno jak na casovy graf - pocet objednavek, tam se řešil obdobný problém. |
||
Kajman_ Profil * |
#3 · Zasláno: 16. 10. 2011, 15:37:30
wabi:
Další možností je vytvoření tabulky s kalendářem, kdy budete mít předvyplněné všechny dny v intervalu, který je pro Vás zajímavý (nebo tam můžete každý rok přidávat kalendář na další rok). S pomocí takové tabulky by to již šlo. |
||
wabi Profil * |
#4 · Zasláno: 16. 10. 2011, 16:00:25
S kalendářem chápu myšlenku, ale je to pro mé účely asi zbytečně "složité". Asi to udělám jak píše Tori.
Děkuji za rady! |
||
Časová prodleva: 13 let
|
0