Pregunta:
Fecha: 24-02-2017 12:28:57
(En Español)
Ejemplo de datos:
Ordenar tabla MySQL por columna que contiene cadenas combinadas de textos y numeros[Resuelta]
Buenas tardes grupo, espero alguien me pueda ayudar con este problema, no puedo ordenar mi tabla cuando el campo tiene letra y número.Ejemplo de datos:
AMA102 AMA103 AMA104 AMA201 AMA202 AMA203 AMA204 AMA205 AMA301 AMA302 AMA303 AMA304 AMA305 AMA306 AMB100 AMA1000Votos: 0 - Respuestas: 4 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 25-02-2017 02:50:14 Hola Juan, deberías poder ordenar tu tabla con la sentencia ORDER BY NOMBRE_COLUMNA, luego utilizando los modificadores ASC o DESC al final podrás ordenar de forma ascendente o descendente.
Estimo que esto ya lo sabes, por lo que tal vez debas explicar un poco más cual es el orden esperado... y cual es el comportamiento que estas obteniendo.
Por otro lado, debes tener presente que el ORDER BY se encuentra afectado por la COLLATE que has seleccionado al momento de modelar/crear la tabla. Yo por lo general utilizo: CHARACTER SET utf8 y COLLATE utf8_general_ci
Saludos y buen código! Votos: 2 - Link respuesta -
Fecha: 25-02-2017 08:12:49 Lo que sucede fernando es que mi campo tiene caracteres string y numerico es por ello q el order by no funiona , no me lo esta ordenando alguna vez te ha sucedido eso ferna , cuando ordenas letras si funciona , pero cuando es string con numerico me refiero a abc101 Votos: 0 - Link respuesta
-
Fecha: 25-02-2017 11:13:57 Que tipo de dato tienes asignado en el campo? VARCHAR, TEXT, Otro?, y qué COLLATE?
Saludos! Votos: 2 - Link respuesta -
Fecha: 26-02-2017 11:33:05 Como dice Fernando (en realidad, no lo dice pero lo intuyo), tendría que funcionar ya que AMA siempre va a estar antes de AMB, no importa que tengas después.
El problema lo podés llegar a tener, seguramente con esto.
AMA100
AMA1000
AMA200
Si comparás caracter a caracter AMA1 es igual y cambia en AMA2, y así te lo ordena y lo que vos querés es que te lo ordene
AMA100
AMA200
AMA1000
Si son dos campos de texto (en un formulario) y concatenado para que quede el valor en un solo campo de la tabla, lo cambiaría por dos campos diferentes en la tabla y lo concatenaría al mostrarlo (función CONCAT de MySql) ordenándolo por los dos campos diferentes
Habría que ver como se llega a ese valor con texto y nro concatenado
Saludos
DIEGO Votos: 3 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
