[mysql] Wie Summe von meisten Einträgen aus Tabelle auslesen?

gimmebytes

Lt. Commander
Registriert
Juni 2002
Beiträge
1.601
Moin Leute!

Ich habe folgendes Problem bei meiner Download-Statistik für meine Website: Ich speichere bei einem Download einen Eintrag in meine mysql-Datenbank. Der Eintrag umfasst ne eindeutige downloadID (fortlaufend), die Uhrzeit, das Datum und die fileID der heruntergeladenen Datei.

Nun würde ich gerne aus dieser Tabelle die fileID herausbekommen, die am meisten heruntergeladen wurde.

Kann man da 'max()' und 'count()' irgendwie kombinieren?

Gruß

merv
 
Select count(file_ID) as num from tbl_down GROUP BY file_ID ORDER BY num ASC;

Der erste Record ist der mit der höchsten Anzahl.
 
hmm ich hätt ne idee wie mans vielleicht machen könnte.

Du speicherst in der mysql tabelle noch zusätzlich die Anzahl ab wie oft die Datei heruntergeladen wurde. (Bei jedem Download 1 dazuzählen).
Dann liest du alle Einträge aus, sortierst sie absteigend nach der "Anzahl wie oft die Datei heruntergeladen wurde", und gibst nur vom ersten Eintrag den namen aus.

Edit:

Misst ich schreib zu langsam :-)
 
@radox

Ja, das kann man natürlich auch machen. Aber das wäre redundant. Die Lösung von WingX klingt da schon besser :)

@WingX

Danke schonmal, wieder was dazu gelernt. Nun würd ich aber noch gerne mit auslesen, welche fileID denn nun wieviel mal heruntergeladen wurde. Jetzt bekomm ich ja nur die jeweiligen Summen, weiß ja aber nicht welche Datei das ist. Kannste mir da auch weiter helfen?
 
Hi,

du kannst den select so machen:

select file_id, count(file_id) as num from tbl_down GROUP BY file_ID ORDER BY num ASC;


Tobias
 
Peinlich, peinlich! Da hät ich ja auch von selber drauf kommen können ;) Funzt! DANKE :)
 
Zurück
Oben