2011-11-16 10 views
10

tengo una consulta mysqlpedido añadiendo por offset y con límite en la consulta mysql

SELECT * FROM lead LIMIT 5 OFFSET 0 

para seleccionar los datos de la tabla de plomo y limitar los resultados a 5 con desplazamiento de 0. quisiera ordenar los resultados por su id por desc, por lo que los resultados se completarán como los últimos datos agregados primero.

me trataron

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

pero no su trabajo ... Por favor, ¿dónde estoy equivocado y qué hacer corregir.

Gracias de antemano.

Respuesta

29

Tienes que

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

El manual (http://dev.mysql.com/doc/refman/5.0/en/select.html) describe que limitan sólo está permitido a aparecer después de que el ORDER BY.

+0

Gracias Dennis ... funcionó :) –

+0

@Bala: No lo olvides para marcar mi respuesta como LA respuesta: D – Dennis

+0

4 minutos para ir :) –

3

La cláusula ORDER BY viene antes de la cláusula LIMIT. Esto tiene sentido porque primero quiere que se ordene el conjunto de registros y luego aplicar la limitación.

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

Puede utilizar cualquiera LIMIT offset, row_ count de sintaxis o la LIMIT row_count OFFSET offset.

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

+0

Lo probé en phpMyAdmin antes de agregarlo al código. Está arrojando un error con la consulta anterior. :( –

+0

@Bala: ¿Puede mostrarnos la estructura de su tabla? – Dennis

+0

Lo siento, mi culpa, los corchetes con LÍMITE que utilicé no eran válidos: -/ – CodeZombie