valor una traer seleccionar repiten repetidos registros registro obtener mayor maximo cuantos contar condicion con columna campo mysql select limits

traer - MySQL: Cómo seleccionar todas las filas de una tabla EXCEPTO la última



sql contar registros repetidos (4)

Tengo una mesa con N filas, y quiero seleccionar N-1 filas.

Sugerencias sobre cómo hacer esto en una consulta, si es posible ...?


¿La última fila tiene la identificación más alta? Si es así, creo que esto funcionaría:

SELECT * FROM TABLE WHERE ID != (SELECT MAX(ID) FROM TABLE)

MySQL permite subselecciones en la versión actual, ¿verdad?

Sin embargo, en la mayoría de los casos, probablemente funcionaría mejor si seleccionó todas las filas y luego filtró los datos no deseados en su aplicación.


SELECCIONE DISTINCT t1.columns FROM table t1
INNER JOIN table t2 ON t1.id <t2.id

En mi experiencia, MySQL ama esta técnica, que se remonta a varias versiones.



Otra técnica que no veo en esta lista es

SELECT * FROM table ORDER BY id DESC LIMIT 10000 OFFSET 1;

Esto le dará los registros ordenados por ID descendiente excepto primero, excepto el último en el orden original.
Tenga en cuenta que con este método solo obtendrá 10000 registros, sin embargo, este número puede ser tan alto como desee, pero no se puede omitir.
La ventaja de este método es que puedes ordenar por lo que quieras.
La desventaja es que le proporciona los registros ordenados del último al primero.
Finalmente vale la pena señalar que los otros métodos aquí funcionan bastante bien