Autor Zpráva
davef6
Profil
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
musíš logovať stiahnuté súbory - id_suboru, datum
alebo id_suboru, datum, pocet_stiahnuti
davef6
Profil
no nejsem v tom moc zběhlej, tak přesně nevim co myslíš
Honza.h2
Profil *
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
jj o tomhle vim, ale potřeboval bych počet stažení za poslední týden
gaminn
Profil *
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ý.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0