Ragazzi, ho bisogno con il vostro aiuto di formulare un query giusta per il mio problema.
Supponiamo di avere una tabella con 4 campi che chiameremo documenti, i campi sono:
ID | nome_utente | path_documento | data_inserimento
Ho bisogno di selezionare gli ultimi 10 distinti utenti che hanno inserito un documento ma avere i risultati ordinati per data.
In un prima battuta ho buttato giù una query di questo tipo:
SELECT DISTINCT (`nome_utente`)
FROM `documenti`
ORDER BY `data` DESC
LIMIT 10
Ma questa non funziona perchè l'ordine in cui mi vengono restituiti i risultati non rispetta le reali date d'inserimento, poichè nel contare le DISTINCT tiene conto della prima data disponibile e non della più recente.
Esempio:
Nel database ho questi dati
1 | Rossi | /documenti/doc01.doc | 2008-01-05 16:52:08
2 | Bianchi | /documenti/doc02.doc | 2008-01-05 18:52:08
3 | Rossi | /documenti/doc03.doc | 2008-01-05 21:52:08
Io vorrei che la mia query restituisse i valori nel seguente ordine Rossi - Bianchi, poichè l'ultimo documento di Rossi è più recente dell'ultimo dei Bianchi.
Mentre la query da me scritta restituisce i valori nel seguente ordine Bianchi - Rossi, poichè il DISTINCT evidentemente tiene conto della prima data disponibile (prima occorrenza).
Qualcuno sa aiutarmi?
Grazie