Consulta SQL para ordenar username de menor a mayor

  • Autor Autor tavitooo
  • Fecha de inicio Fecha de inicio
tavitooo

tavitooo

Eta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Amigos buenas tengo esta simple consulta sql: select username from login order by username

Ordena a medias, es decir se incrustan los otros códigos que deberían de estar ordenados en otra posición, acá les adjunto la imagen.
Como hago para que se ordenen como debería de ser de menor a mayor?.
El campo username es varchar(50)

sql.jpg
 
Última edición:
Están bien ordenados (alfabéticamente), deberías separar el string en su parte alfabética y numérica


Insertar CODE, HTML o PHP:
order by SUBSTR(username,0,3),  CAST SUBSTR(username,4) AS INT

no he probado el código pero por ahí va... 😉

si son muchas las filas en tu tabla podría ser mejor separar las partes en dos columnas y crear un indice compuesto por ambas
 
ocupas separar el numero del campo nombre para que te lo ordene correctamente, asi como esta todo en un solo campo varchar no te lo ordenara como quieres
 
ocupas separar el numero del campo nombre para que te lo ordene correctamente, asi como esta todo en un solo campo varchar no te lo ordenara como quieres
Disculpe me podria dar un ejemplo? no soy tan bueno con sql, por favor. gracias
 
Prueba la sentencia:

SELECT username FROM login ORDER BY CAST(SUBSTR(username, 4) AS INT);
 
Están bien ordenados (alfabéticamente), deberías separar el string en su parte alfabética y numérica


Insertar CODE, HTML o PHP:
order by SUBSTR(username,0,3),  CAST SUBSTR(username,4) AS INT

no he probado el código pero por ahí va... 😉

si son muchas las filas en tu tabla podría ser mejor separar las partes en dos columnas y crear un indice compuesto por ambas

Hola hice lo indicado pero me salen estos errores
sql2.webp
 
Prueba la sentencia:

SELECT username FROM login ORDER BY CAST(SUBSTR(username, 4) AS INT);
Gracias lo hice pero salen asi el codigo que comienza con AP esta luego del VF... igual con el CN
sql3.webp
 
SELECT username FROM login ORDER BY SUBSTR(username, 1, 3), CAST(SUBSTR(username, 4) AS INT);
 
SELECT username FROM login ORDER BY SUBSTR(username, 1, 3), CAST(SUBSTR(username, 4) AS INT);
Muchisimas gracias compañero con esa sentencia si funcionó voy a investigar que hace cada función. un abrazo gracias nuevamente. Dios te bendiga!!. Y gracias a todos tambien!!.
 
Excelente, que bueno que te fue de ayuda.

Si necesitas ayuda adicional con el diseño de la base de datos, me puedes contactar.

Saludos...
 
Atrás
Arriba