Mailinglisten-Archive |
Hallo Niko, das sieht nach einzelnen Abfragen aus aber durchaus machbar: Tabelle counter: counter_id int not null,primary key,auto_increment article_id int not null click_date date not null click_count int not null Zählen der Klicks: update counter set click_count=click_count+1 where article_id=[...] and click_date=[heute] > a.klicks heute. select click_count from counter where article_id=[...] and click_date=[heute] > b.klicks der letzten 30 tage select sum(click_count) from counter where article_id=[...] and click_date>=[heute-30] > c.durchschnitt pro tag select avg(clicks) from counter where click_date=[heute] Ich vermute mal das soll heissen Durchschnitt über alle Artikel. > d.durchschnitt pro tag in den letzen 30 tage select avg(clicks) from counter where click_date>=[heute-30] > e.Klicks insgesammt. select sum(clicks) from counter > Ferner sollt es ueber alle 5 kategorien ein ranking geben. > > das stellen sich ne menge fragen...z.B. wie ermittelt man den im ranking > naechst hoeheren und naechst niedrigeren datensatz etc. Ich nehme mal an hier geht es darum die Artikel entsprechen zu bewerten. Da hilft group by und order by weiter. Ein kleines Beispiel select article_id,sum(clicks) from counter group by article_id order by 2 desc oder select article_id,click_count where click_date=[heute] order by click_count desc Vielleicht hilfts ja weiter :-) Gruß, Andreas -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive