Autor | Zpráva | ||
---|---|---|---|
Hadžim Profil |
#1 · Zasláno: 19. 3. 2008, 13:58:17
Je nějaká možnost jak získat posloupnost datumů jediným dotazem na MySQL
například bych potřeboval, aby mi SELECT vrátil data všech dní v měsíci lednu roku 2006, je nějaká možnost jak to udělat aniž bych musel fyzicky vytvořit tabulku se "všemi" dny a vybírat to z ní? Díky za radu aby byl vyslek takovyto 2006-01-01 2006-01-02 2006-01-03 ... 2006-01-30 |
||
panhuhu Profil |
#2 · Zasláno: 19. 3. 2008, 14:33:15
Na co potřebuješ vracet z databáze seznam dnů?
|
||
souki Profil |
#3 · Zasláno: 19. 3. 2008, 14:38:00
Hadžim
pokud se ptáš na to, jak třeba seskupit záznamy podle data, vypsat je, ale přitom nepřeskakovat dny (vše na straně DB), tak by mě to taky zajímalo Teoreticky by šel použít klasický postup na počítání řádku a jenom ho pomocí časových funkcí převést na datum |
||
Hadžim Profil |
#4 · Zasláno: 19. 3. 2008, 15:06:55
pokud se ptáš na to, jak třeba seskupit záznamy podle data, vypsat je, ale přitom nepřeskakovat dny (vše na straně DB)
Přesně tak, neco jako SELECT datum, neco FROM datum NATURAL LEFT JOIN tabulka WHERE datum < dat1 AND datum > dat2 ORDER BY datum |
||
Hadžim Profil |
#5 · Zasláno: 19. 3. 2008, 15:21:30
Pripadne ze to nejde,
myslite ze je jednodussi a rychlejsi A) chybejici data doplnovat az ve skriptovacim jazyku? B) vytvorit si tabulku s daty v dostatecnem rozsahu a s ni spojovat? Laka me spis moznost B, uz kvuli treba kvuli razeni a tak |
||
Kajman_ Profil * |
#6 · Zasláno: 19. 3. 2008, 15:59:13
Asi bych také v mysql šáhl po předpočítané pomocné tabulce s kalendářem.
A možná bych tam dal kromě sloupečku datum i zvlášť jen rok a měsíc, aby se dalo indexovat i jen to. A třeba i den v týdnu, příznak svátku a další věci, které by mohly v konkrétní aplikaci urychlit dotazy. |
||
Časová prodleva: 16 let
|
0