DB Einträge zählen und sortieren

G

Gast

Hallo zusammen,

habe da eine Frage:

Ich möchte die top zehn user mit den letzten geschriebenen Kommentaren darstellen.

Ich habe also eine Tabelle inder kommentare, id, username gespeichert ist.

id username

1 peter
1 peter
1 peter
2 ulla
2 ulla

jetzt möchte ich ausgeben lassen

Peter 3 Kommentare zu id 1
ulla 2 Kommentare zu id 2

usw.

Wie sieht die Datenbank abfrage dazu aus?



Wäre echt klasse wenn mir dabei jemand helfen kann.

lg

david
 
Hallo,
bin mir nicht ganz sicher aber probiers mal so:

PHP:
$abfrage = "SELECT * FROM TABLENAME";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   $id= "$row->id";
   
$abfrage2 = "SELECT COUNT(id) FROM TABLENAME WHERE id='$id' GROUP BY id";
$ergebnis2 = mysql_query($abfrage2);
$menge2 = mysql_fetch_row($ergebnis2);
$menge2 = $menge2[0];

echo $menge2;

   }
 
Hi,

eine weitere Abfrage innerhalb der Schleife ist nicht gut. Warum nicht gleich die äußere Abfrage gruppieren:

SQL:
SELECT id, username, COUNT(id) FROM tabelle
   GROUP BY id, username
   ORDER BY COUNT(id) DESC
   LIMIT 10

Sowas in der Art.

LG
 
Zurück