2011-11-16 10 views
10

ho una query mysqlordine Aggiunta vicino con offset e limite di query mysql

SELECT * FROM lead LIMIT 5 OFFSET 0 

per selezionare i dati dal piombo tavolo e limitare i risultati a 5 con offset 0. desidero ordinare i risultati dal suo id di desc, quindi i risultati verranno popolati come gli ultimi dati aggiunti per primi.

ho cercato

SELECT * FROM lead LIMIT 5 OFFSET 0 order by id desc 

, ma la sua non funziona ... Si prega di correggere me dove sbaglio e cosa fare.

Grazie in anticipo.

risposta

29

Devi

select * from lead order by id desc LIMIT 5 OFFSET 0 

Il manuale (http://dev.mysql.com/doc/refman/5.0/en/select.html) descrive tale limite è consentito solo ad apparire dopo ORDER BY.

+0

Grazie Dennis ..! Ha funzionato :) –

+0

@Bala: per favore non dimenticare per contrassegnare la mia risposta come la risposta: D – Dennis

+0

4 minuti per andare :) –

3

La clausola ORDER BY è preceduta dalla clausola LIMIT. Questo ha senso perché prima si desidera ordinare il set di record e quindi applicare la limitazione.

SELECT * FROM lead ORDER BY id DESC LIMIT 0, 5 

È possibile utilizzare uno LIMIT offset, row_ count di sintassi o la LIMIT row_count OFFSET offset.

Check: http://dev.mysql.com/doc/refman/5.0/en/select.html

+0

L'ho provato in phpMyAdmin prima di aggiungerlo al codice. Sta generando un errore con la query sopra.! :( –

+0

@Bala: puoi mostrarci la struttura del tuo tavolo? – Dennis

+0

Mi dispiace, colpa mia, le parentesi con LIMITI utilizzati non sono valide: -/ – CodeZombie