è possibile fare questo usando solo una query mysql?
è un codice pesante per il server?

Codice PHP:
// la query mysql fornisce le righe db dei 20 commenti più recenti in assoluto
$query "SELECT A.ID, A.TITOLO, A.THREAD, B.TITOLO AS INDXT
        FROM comms AS A
        LEFT JOIN post AS B ON B.THREAD = A.THREAD
        ORDER BY A.ID DESC
        LIMIT 0, 20"
;
mysql_select_db($database_madh_db$madh_db);
$QR_lcom mysql_query($query$madh_db) or die(mysql_error());
$i=0;
while (
$riga mysql_fetch_assoc($QR_lcom)) {    // converto il risultato della query in un array a
    
foreach ($riga as $colonna => $valore) {    // 3 dimensioni in modo da raccogliere i commenti per thread
        
$bythread[$riga['INDXT']][$i][$colonna] = $valore;
        
$conto[$riga['INDXT']] += $riga['ID'];  // calcolo in quale thread è presente
    
}                                             // il maggior numero di commenti recenti.
    
$i++;
}
arsort ($conto);
$bycount = array();                           // metto i gruppi di commenti in un nuovo
foreach($conto as $nomegruppo => $cifra){  // array secondo l'ordine dato dal conto dei commenti
    
$bycount[$nomegruppo] = $bythread[$nomegruppo];
}

foreach (
$bycount as $nomegruppo => $gruppo) { // mostro i commenti
    
echo $nomegruppo.":
"
;
    foreach (
$gruppo as $commento) {
        echo 
"".$commento["TITOLO"]." (ID = ".$commento["ID"].")
"

    }

in pratica devo avere i commenti ordinati per data (o ID), e raccolti per thread. inoltre voglio considerare solo i più recenti di tutti i thread.
PS: in questo codice il meccanismo di conteggio va perfezionato in modo da mettere in risalto i post recenti anche se sono pochi in un thread.

grazie