Originariamente inviato da energia
Non va! Ora la query funziona in parte, nel senso che l'ordine degli autori è corretto, ma per ogni autore mi restituisce il titolo del suo primo blog! Come se fa? 'azzie gente...

Darìo
Usare il group by o il distinct ha dei limiti. Serve a raggruppare dei valori, non a selezionare delle tuple. In pratica il primo record che incontra che soddisfa il raggruppamento la ricerca scartera' tutti i successivi identici.

L'unico modo per ricavarci qualcosa e' l'uso di HAVING che funziona con GROUP BY e permette di identificare un record.

Prova per esempio...
codice:
SELECT
  MAX(com_blogs.blogs_id) as max_id 
  com_blogs.blogs_autore,
  com_blogs.blogs_data,
  com_blogs.blogs_mood,
  com_blogs.blogs_titolo,
  com_blogs.blogs_testo,
  com_blogs.blogs_id,
  phpbb_users.user_id,
  phpbb_users.username
FROM com_blogs
LEFT OUTER JOIN phpbb_users ON (com_blogs.blogs_autore = phpbb_users.user_id)
GROUP by com_blogs.blogs_autore
HAVING com_blogs.blogs_id = max_id 
ORDER BY max_id DESC
LIMIT 15
Rimane valido tutto quanto detto. Cioe' per estrarre determinate tuple il GROUP BY non e' il piu' indicato, specie se le righe sono molte. E sopratutto bisogna studiarsi la query con le tabelle sottomano per capire gli aggiustamenti da fare. Nel senso che chi suggerisce presume delle tabelle ad arte... mentre invece queste potrebbero non esserlo.

Nel tuo caso non vuoi un vero raggruppamento, ma un record per autore che abbia il max(id) inserito.