En Mysql, cuando ejecuta una instrucción SQL seleccionada, hay un orden predeterminado si no incluye una cláusula de clasificación, ¿cómo revertir el orden predeterminado? Solo agregue DESC
?¿Cómo revertir el orden predeterminado en Mysql?
Respuesta
No hay una orden garantizada si no especifica una cláusula ORDER BY, por lo que el 'reverso de la orden predeterminada' no está definido.
Para aquellos que prefieren respuestas con evidencia para respaldar los reclamos hechos: https://stackoverflow.com/questions/8746519/sql-what-is-the-default-order-by-of-queries – Patrick
Creo que será mejor si especifica el orden que realmente desea. Las tablas, por su naturaleza, no tienen orden. Probablemente solo se muestre en el orden en que se insertaron las filas, aunque no hay garantía de que permanezca en ese orden.
Es probable que, es probable que sólo quiere agregar este:
ORDER BY id DESC
... ya que la mayoría de las veces, la gente utiliza un campo de incremento automático llamado "id"
Pero qué lástima, no hay un campo "Id" en la tabla. – Steven
Pero si no hay un campo Id, o equivalente, ¿el orden es significativo? – pavium
Creo que el orden predeterminado en el que se insertaron las filas, el orden predeterminado es "Primero insertado, último fuera". Quiero cambiarlo a "Primero insertado, primero fuera". – Steven
Si desea que el datos para salir ordenados consistentemente, debe usar ORDER BY
seguido de la (s) columna (s) por las que desea ordenar la consulta. ASC
es el valor predeterminado, por lo que no necesita especificarlo. IE:
ORDER BY your_column
... es el equivalente a:
ORDER BY your_column ASC
ASC/DESC es en función de cada columna. Por ejemplo:
ORDER BY first_column, second_column DESC
... significa que la consulta va a clasificar el conjunto de resultados como una combinación con el first_column
en orden ascendente, second_column
en orden descendente.
El orden que necesito es el orden inverso en el que se insertaron las filas. "Primero insertado, primero fuera". – Steven
@Steven: Deberá proporcionar el resultado de 'DESCRIBE [su nombre de tabla aquí]' de su base de datos antes de que pueda sugerir qué usar. Si tiene una columna de clave principal autonumber, ordene 'ASC'.Lo mejor sería una columna date_created, utilizando el tipo de datos datetime. Nuevamente, 'ASC'. –
A menos que pueda especificar un nombre de columna en una cláusula ORDER BY
, no puede usar DESC
, y tendrá que recurrir a trucos relacionados con LIMIT
para ver los últimos registros.
Esto sería insatisfactorio, creo.
Puede configurar un contador en sus campos de resultados y el tipo de usarlo:
SELECT *, @counter := @counter + 1 AS 'counter' FROM tableName, (SELECT @counter := 0) r ORDER BY counter DESC
creo que va a funcionar como se desea.
¡SÍ! funciona ! Gracias ! Respondiste perfectamente a la pregunta. – Jerry
@Jerry Pero esto es exactamente lo contrario del orden en que se recuperaron las filas, lo que no tiene ninguna conexión garantizada con el orden de implementación, que a su vez no garantiza que sea en particular. Si quiere una orden garantizada, tiene que estar en los datos. * Además * no hay garantías para las consultas que establecen y leen una variable, por lo que esta consulta tiene un comportamiento indefinido. Para * una cierta compilación reciente * de 5.7 personas en Percona que observaron la implementación, vieron que cierto uso de variables en expresiones de 'caso' (* no * como este) proporciona cierto comportamiento predecible. Hasta. – philipxy
- 1. MySQL revertir el orden sin DESC
- 2. revertir filas al valor de columna predeterminado mysql
- 3. ¿Cómo revertir el orden de las claves en python dict?
- 4. Orden predeterminado de pedidos en MySQL (ALTER TABLE ... ORDER BY ...;)
- 5. Cómo cambiar el orden predeterminado de la cláusula Group By en mysql
- 6. WPF: revertir pincel a predeterminado/original
- 7. ¿Puedo revertir el orden de un evento delegado de multidifusión?
- 8. manera elegante para revertir el orden de columnas
- 9. Esquema predeterminado en MySQL
- 10. jqGrid orden de clasificación predeterminado?
- 11. Mantener el orden en MySQL "IN" consulta
- 12. MySql en orden de conjunto?
- 13. ¿Cómo puedo revertir el orden de bytes de un NSInteger o NSUInteger en Object-C
- 14. ¿Cómo ORDEN por título en mysql, ignorando la palabra "el"?
- 15. ¿Cómo establecer el valor predeterminado para sysdate en MySql?
- 16. Complejo ORDEN MySQL
- 17. Definir el orden de clasificación predeterminado en Grails/GORM
- 18. Mysql orden de encargo por el orden alfabético por:
- 19. MySql orden condicionada por
- 20. Pregunta sobre el método ActiveRecord # default_scope y el orden predeterminado
- 21. mysql orden alfabético
- 22. Diferencia entre nulo predeterminado nulo y nulo predeterminado en mysql?
- 23. ¿Puede MySql revertir una transacción sql en varias tablas?
- 24. ¿Cómo revertir el tipo de una colección Groovy?
- 25. ¿En qué orden se evalúa MySQL JOINs?
- 26. Rails 3: ¿Cuál es el orden predeterminado de "MyModel.all"?
- 27. ORDEN DE MySQL POR IN()
- 28. Índices de MySQL y orden
- 29. cómo revertir glScalef()?
- 30. orden de ejecución condición en MySQL
Duplicado: http://stackoverflow.com/questions/1793147/sql-best-practice-to-deal-with-default-sort-order/1793162#1793162 –
No existe el "orden predeterminado" entonces no puedes "revertirlo". –