Autor | Zpráva | ||
---|---|---|---|
davef6 Profil |
#1 · Zasláno: 4. 2. 2007, 21:48:59
mám soubory, které jsou načteny do databáze
tabulka vypadá takto datum, soubor, popis, velikost, počet stažení, hodnocení potřeboval bych poradit jak udělat, abych mohl seřadit posledních 10 nejstahovanějších za poslední týden vim že to z téhle tabulky nepůjde, tak bych potřeboval poradit jak na to |
||
tiso Profil |
#2 · Zasláno: 4. 2. 2007, 22:08:09
musíš logovať stiahnuté súbory - id_suboru, datum
alebo id_suboru, datum, pocet_stiahnuti |
||
davef6 Profil |
#3 · Zasláno: 4. 2. 2007, 22:13:19
no nejsem v tom moc zběhlej, tak přesně nevim co myslíš
|
||
Honza.h2 Profil * |
#4 · Zasláno: 5. 2. 2007, 12:11:29
pokud loguješ počet stažení a eviduješ v tabulce, pak by SQL dotaz vypadal takto:
SELECT * FROM tabulka ORDER BY pocet_stazeni DESC LIMIT 0,10 takhle by to mělo seřadit záznamy podle počtu stažení, které ukládáš DESC to seřadí vzestupně, od nejvyššího počtu stažení a LIMIT výsledek omezí jen na prvních 10, tedy by mělo vypadnout 10 nejstahovanějších |
||
davef6 Profil |
#5 · Zasláno: 5. 2. 2007, 12:24:30
jj o tomhle vim, ale potřeboval bych počet stažení za poslední týden
|
||
gaminn Profil * |
#6 · Zasláno: 5. 2. 2007, 12:27:51
Každé stažení každého souboru zaeviduj do databáze (přibyde ti tedy další tabulka k té stávající, která bude mít strukturu id_souboru (jak vidíš, do své první tabulky přidej sloupec, který bude jedinečným identifikátorem každého souboru), cas_stazeni). SQL dotaz pak bude vypadat následovně:
SELECT *, SUM(pocet_stazeni) sum FROM nova_tabulka WHERE cas_stazeni > /sem si doplň aktuální čas minus čas, za který chceš počet stažení, ve formátu jaký požaduješ/ GROUP BY id_souboru ORDER BY sum DESC LIMIT 10 Alespoň doufám, že ten můj dotaz je správný. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0