Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/07/2014, 01:28
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 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.