Autor Zpráva
24k
Profil *
Mam tabulku1 kde mam ID_souboru | popis | velikost ...
Pote mam prekvapive i tabulku2 kam si ukladam IP_uzivatele a IDsouboru co stahl a samozrejme datum


A dostal jsem takovy zajimavy napad, coz u me nebyva tak casto. Chtel jsem si vytahnout Soubory a pocet stazeni za poslednich 7 dni .. tedy za kazdy den aby se ukazalo jak se ktery soubor stahoval

Vypada to nejak takto:

select s.fid, s.popis, s.soubor, ifnull(count(e.fid),0) as POCET, DATE_FORMAT(e.datum, '%Y-%m-%d') as datum
from scripts s
LEFT JOIN scripts_entry e ON s.fid=e.fid
GROUP BY e.fid, datum
HAVING datum >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
ORDER BY s.fid ASC, POCET DESC


Je to funkcni a vyprodukuje to neco jako ... (ukazuji jen jeden soubor ..)

->

5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 4 | 2006-04-17
5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 4 | 2006-04-19
5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 3 | 2006-04-14
5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 2 | 2006-04-15
5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 1 | 2006-04-16
5 | Automatické po?ítání fotbalové tabulky | fotbalova-tabulka.rar | 1 | 2006-04-18



Ale co je za problem? Chybi mi tam jeden den. Proste tam kde neni zaznam, lze toho jeste nejak docilit v SQL? Nebo budu muset zas cahrovat v PHP :/ (ted jsem se o to pokousel a nejak to nemuzu vymyslet)

Diky za kazdy napad
Honza Hučín
Profil
Podívej se na http://suplik.petnik.cz/index.php?cl=244 , třeba ti to nějak pomůže.
24k
Profil *
Honzo dik, mrknu an to vecer, kdyby mel nekdo konkretni napad budu rad.

PS. Honzo vim ze mas par dobrych clanku ohledne SQL nemohl bys je nejak sjednotit, ta kategorie INTERNET je takova nicnerikajici, nechce se mi vzdy pul hodiny neco hledat kdyz hledam pouze SQL help.
Leo
Profil
Prosel jsem ten odkaz jen letmo, ale podle me left join problem neresi, protoze ty chybejici dny nikde v databazi nejsou ulozene. Videl bych to na upravu v PHP, Leo
24k
Profil *
Tak sem mrknul ted a neni tam nic co bych neznal, a nic co by mi pomohlo, jestli jsem ovsem spatne necetl.
Tady nejde o to ze bych neumel vybrat nulove radky, ale o to ze SQLko nepozna ty data kdyz mu reknu vyber data za poslednich 7 dni a ty zgrupuj.
24k
Profil *
Leo> ja vim left join tam mam uz ze zvyku spis kdybych nahodou nakym nedopatrenim smazal soubor z prvni tabulky , nema mit zamer ten ktery sis myslel
24k
Profil *
Sry za spam, Leo ted vystihl to co jsem napsal hned pod nim.
Tak jsem zvedav kdo na neco prijde
Leo
Profil
Ja bych to proste resil v PHP, proc zatezovat MySQL necim, co nesouvisi s daty v databazi ulozenymi (ale s daty, ktera tam nejsou). Leo
24k
Profil *
no nejak v PHP sem to neporesi... takze sem si vytvoril docasnou tabulku s ony 7 daty, a spojil a je to§

Leo> asi se ti moc psat nechce, jak presne bys to v PHP resil?
Leo
Profil
Proste v PHP vypisete data cyklem a k nim prislusne hodnoty z databaze (pokud ve vysledne sade jsou, pokud ne tak nulu). Jen nechapu proc to chcete delat kdyz mate tabulku tridenou podle poctu nikoli podle data.... Leo
24k
Profil *
Protoze jsem sem hodil uz starsi select, samozrejme to mam jinak serazeno jiz. No tak diky za osvetu, nejak jsem to nedal, ale s temp tabulkou mi to funguje
Kajman_
Profil *
Kdyby by to mělo být řešené na úrovni sql, tak bych si asi nedělal vždy tabulku s datumy, ale jednu pomocnou ale běžnou tabulku s čísly třeba 0..1000 - a na ní bych postavil ten select, kdy se určitý počet dní vezme, odečte se od aktuálního datumu a tak vzniknou souvislé datumy, ke kterým se nalinkují potřebná data.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0