27. august 2005 - 22:55Der er
5 kommentarer og 1 løsning
Flest posts i tabel
Hej eksperter.
Er der nogle der kan fortælle mig, hvordan jeg henter brugerid'et ud på den bruger, som har lavet flest posts i en tabel?
Derudover, så skal jeg også have hentet antallet af samtlige tegn fra ét felt ud fra en tabel (flere rækker) og have lagt alle rækker sammen, således at man får et totalt tal for samtlige tegn i ét felt over flere rækker. Hvordan kan jeg lave det?
Nej. Når man bruger "GROUP BY posterID", så grupperes alle posterne i grupper med det samme posterID. Når man kombinerer dette med "count(*)" får man derfor antaller af poster, som har samme posterID - havde man ikke "GROUP BY" ville man bare have fået samtlige poster i databasen. Med "count(*)" får du altså talt det totale antal poster per person, og "... AS antalPoster" giver bare dette tal et navn ("AS" definerer et alias), sådan at du senere kan skrive noget i stil med:
$sql = "SELECT posterId, count(*) AS antalPoster FROM dinTabel GROUP BY posterID"; $result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) { echo "Bruger: " . $row["posterId"] . ", har i alt postet: " . $row["antalPoster"] . " indlæg."; }
Feltet "antalPoster" eksistere altså ikke på forhånd, men bliver dannet på kørselstidspunktet.
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.