Consulta Campo?

  • Autor Autor MiguelBot
  • Fecha de inicio Fecha de inicio
M

MiguelBot

hola necesito hacer una consulta y mostrar los resultados a mi elección


países

id
país


y cuando hago la consulta puedo ordenar por id o por país

SELECT * FROM paises ORDER by id ASC

pero lo que yo quiero hacer es que en los resultados salga primero mexico, de ahí argentina y de ahí los demás países! alguien puede ayudarme?
 
Podrías agregar un campo de prioridad por ejemplo y a México le pones 3, Argentina 2 y al resto de paises 1 y lo ordenas por ese campo. Al darlo de alta en la base le pones que el valor predeterminado sea 1.
 
NO HAY OTRA FORMA ? haciendo consulta vi que otra persona consulto lo mismo y lo hizo pero no entiendo! aquí esta lo que le respondieron!
ORDER BY
CASE P1 WHEN 'CTI MÓVIL' THEN 0.1
WHEN 'PERSONAL' THEN 0.2
ELSE ORDEN END

Podrías agregar un campo de prioridad por ejemplo y a México le pones 3, Argentina 2 y al resto de paises 1 y lo ordenas por ese campo. Al darlo de alta en la base le pones que el valor predeterminado sea 1.
 
Prueba con esto:

SELECT IF(pais='Mexico', -2, IF (pais='Argentina', -1, id) as orden, id, pais FROM paises ORDER BY orden ASC;

Suerte.
 
Interesante consulta, estaré al tanto para saber cómo se logra :welcoming:

En cuanto a esto:

Insertar CODE, HTML o PHP:
ORDER BY 
CASE P1 WHEN 'CTI MÓVIL' THEN 0.1 
WHEN 'PERSONAL' THEN 0.2 
ELSE ORDEN END

Me parece que P1 es la columna a validar, por ejemplo NombrePais, Si el valor de la columna 'P1' es 'CTI MÓVIL' darle prioridad 0.1, EN TU CASO CAMBIALO POR 'México', y así con los otros 0.1, 0.2, 0.3 hasta el 0.999...

Supongo que esto lo que hará es darles el valor ascendente, y como esos valores son menor que 1, los mostrará antes que los demás países.

Es lo que entiendo yo, no sé si sea así, no sé mucho de bases de datos XD

Saludos.

Edito:

Prueba con esto:

SELECT IF(pais='Mexico', -2, IF (pais='Argentina', -1, id) as orden, id, pais FROM paises ORDER BY orden ASC;

Suerte.

Me parece que esto tiene la misma función que el código anterior pero con menos código :encouragement:

Ya me avisan si va. Saludos.
 
Última edición: