Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ordenar pero no excluir

Estas en el tema de Ordenar pero no excluir en el foro de Mysql en Foros del Web. Hola a todos, No se si se puede hacer lo que quiero, creo que no. Tengo una tabla con escritores con varias columnas, una de ...
  #1 (permalink)  
Antiguo 20/07/2014, 21:53
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Ordenar pero no excluir

Hola a todos,

No se si se puede hacer lo que quiero, creo que no.

Tengo una tabla con escritores con varias columnas, una de ellas es "pais". En la colunma "pais" tengo el pais de cada escritor, por ejemplo "España" o "Mexico"...

El caso es que quiero listar todos los escritores, pero primero los de un determinado pais, sin excluir a los de un pais en concreto.

Es decir, por ejemplo. Que primero esten los de "Mexico" y luego los de Espapaña, Alemania... Busco que primero se muestren los de "Mexico" y luego aleatoriamente el resto, o del orden que sea, lo importante es que primero se muestren los de Mexico.

¿Esto es posible sin tener que hacer dos consultas?, o tengo que hacer primero la de "Mexico" y luego la del resto de paises?.

:d
  #2 (permalink)  
Antiguo 21/07/2014, 01:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Ordenar pero no excluir

Código MySQL:
Ver original
  1. SELECT e.*
  2. FROM escritores e  
  3.        INNER JOIN (SELECT escritores.pais,
  4.                                         If(pais="Mexico",1,2+rand()) orden
  5.                              FROM escritores
  6.                              GROUP BY escritores.pais) p
  7.               ON e.pais=p.pais
  8. ORDER BY p.orden,e.escritor

He usado una subconsulta que a cada pais le da un valor de orden aleatorio entre 2<=Orden<3 mientras que a Mexico le asigno el 1. (rand())

Al ordenar por p.orden saldran primero los de Mexico seguidos por los de los otros paises ordenados aleatoriamente. Dentro de cada pais se ordenaran por e.escritor, el nombre alfabeticamente si escritor es en nombre del campo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 21/07/2014, 05:27
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Ordenar pero no excluir

Muchas gracias quimfv!... eres el crack de las consultas!
  #4 (permalink)  
Antiguo 21/07/2014, 05:32
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Ordenar pero no excluir

Acabo de probar el código... joder... que genialiadad!

Etiquetas: excluir, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:17.