sql >> Base de Datos >  >> RDS >> Mysql

selección mysql de n últimas filas

A partir de la respuesta dado por @chaos, pero con algunas modificaciones:

  • Siempre debes usar ORDER BY si usa LIMIT . No hay un orden implícito garantizado para una tabla RDBMS. Es posible que normalmente obtiene filas en el orden de la clave principal, pero no puede confiar en esto, ni es portátil.

  • Si ordena por orden descendente, no necesita saber el número de filas en la tabla de antemano.

  • Debe proporcionar un nombre de correlación (también conocido como alias de tabla) a una tabla derivada.

Esta es mi versión de la consulta:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;