Saltar al contenido

Seleccione la última fila en MySQL

Solución:

Sí, hay un auto_increment ahí

Si quieres lo último de todas las filas en la tabla, entonces este es finalmente el momento en el que MAX(id) es la respuesta correcta! Mas o menos:

SELECT fields FROM table ORDER BY id DESC LIMIT 1;

Tenga en cuenta que las tablas de las bases de datos relacionales son solo conjuntos de filas. Y los conjuntos en matemáticas son colecciones desordenadas. No hay primera ni última fila; sin fila anterior o fila siguiente.

Primero tendrá que ordenar su conjunto de filas desordenadas por algún campo, y luego estará libre de iterar a través del conjunto de resultados en el orden que definió.

Dado que tiene un campo de incremento automático, supongo que desea que ese sea el campo de clasificación. En ese caso, es posible que desee hacer lo siguiente:

SELECT    *
FROM      your_table
ORDER BY  your_auto_increment_field DESC
LIMIT     1;

Vea cómo ordenamos primero el conjunto de filas desordenadas por your_auto_increment_field (o como se le llame) en orden descendente. Luego limitamos el conjunto de resultados a solo la primera fila con LIMIT 1.

Puede combinar dos consultas sugeridas por @spacepille en una sola consulta que se ve así:

SELECT * FROM `table_name` WHERE id=(SELECT MAX(id) FROM `table_name`);

Debería funcionar increíblemente rápido, pero en las tablas INNODB es una fracción de milisegundo más lento que ORDER + LIMIT.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *