Jeg løste det ved at lave en midlertidig tabel med de kolonner jeg skulle bruge. Derefter fandt jeg ud af hvilke id-numre der kunne forekomme og gemte tallet i en variabel Så lavede jeg en løkke der fandt alle de poster i den oprindelige tabel hvor id = variablen - derefter talte sammen og ladge de rigtige info i den nye tabel
så kunne jeg derefter lave en forespørgsel der sorterede efter "antal hits"
SELECT client_id, COUNT(client_id AS antal FROM pot_visitors GROUP BY client_id limit 10; Du mangler jo osse en parentes her: SELECT client_id, COUNT(client_id) AS antal FROM pot_visitors GROUP BY client_id limit 10;
Detox> tak.. opret svar så får du også en lille sum point når jeg lukker.
Synes godt om
Slettet bruger
19. oktober 2003 - 12:45#14
Din løkke skal være fuldstændig den samme, der er ikke forskel der
$result = mysql_query("SELECT client_id, COUNT(client_id) AS antal FROM pot_visitors GROUP BY client_id limit 10;"); while($row = mysql_fetch_array($result)) { $var = $row["client_id"]; echo $var; }
Det er i hvert fald en god idé at undgå 'echo' i while løkken (som i mit eks). Jeg tror osse det er hurtigere at bruge 'count(*)' end 'COUNT(client_id)', men der er jeg ikke helt sikker. Det har nok osse betydning, hvor vidt dine felter er indexeret, men det har jeg heller ikke 100% tjek på.
detox> ok tak.. det er heller ikke så vigtigt endnu.. har p.t. omkring 1000 entries.. og kunne nok nøjes med at køre det 1 gang dagligt via cron, så går det nok det er lidt tungt.
Jeg lavede en lille benchmark på 56.000 rækker (med GROUP BY og ORDER BY): count(*) = 0.0275 sec. count(id) = 0.2189 sec. (Autonummereret) count(kode) = 0.0280 sec. (Indexeret) Så count(*) må være at foretrække.
(hvordan laver du sådanne benchmarks - er det bare på samme måde som du har svaret mig i andet spørgsmål?) Eller findes der en speciel metode til MySQL
Jeg lavede forespørgslerne i phpMyAdmin, den viser hvor lang tid det tager.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.