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

Ordenar consulta

Estas en el tema de Ordenar consulta en el foro de Bases de Datos General en Foros del Web. Hola a todos, Tengo que ordenar una consulta a la base de datos, y la verdad es que no se exactamente como realizar la consulta ...
  #1 (permalink)  
Antiguo 10/01/2013, 12:21
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Ordenar consulta

Hola a todos,
Tengo que ordenar una consulta a la base de datos, y la verdad es que no se exactamente como realizar la consulta para ordenar los registros de la siguiente manera:

el campo de la base de datos solo contiene números.
Y se debe poder ordenar de mayor a menor y de menor a mayor pero los registros que tienen 0 deben aparecer los últimos en ambos casos.

Podria alguien decirme como se puede hacer esto??
Muchas gracias de antemano.

Saludos.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #2 (permalink)  
Antiguo 10/01/2013, 12:35
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Ordenar consulta

@NJS hechale un vistazo a esta pagina te servira de mucho: Consultas MYSQL Mas Usadas
  #3 (permalink)  
Antiguo 10/01/2013, 12:54
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Ordenar consulta

creo que no has entendido bien mi pregunta, necesito que al ordenar el 0 no cuente y todos los registros que tienen 0 aparezcan los últimos, da igual si se ordena de menor a mayor o al revés todos los registros que tiene 0 siempre deben salir después del resto.

De todas formas gracias por contestar.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #4 (permalink)  
Antiguo 10/01/2013, 13:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Ordenar consulta

Te ayudarian mejor en el foro de Mysql

por otro lado, cuando dices registros con 0 te refieres a

01
02

o a

100
200

aclara eso.
  #5 (permalink)  
Antiguo 10/01/2013, 16:33
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Ordenar consulta

Me refiero a que
salga asi


1
1
2
22
0
0
0

y al revés ( esto es fácil con DESC )

22
2
1
1
0
0

todos los registros que sean 0 siempre sean los últimos.

la única forma que se me ocurre es hacer 2 consultas y después usar array_merge
pero me gustaria saber si se puede hacer directamente en mysql.
Tienes razón el foro correcto seria mysql pero no me di cuenta de esto al crear el post.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #6 (permalink)  
Antiguo 10/01/2013, 18:35
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Ordenar consulta

Si la tabla se llama 'yy', y el campo que contiene el 0 se llama 'xx':

ordenacion ascendente, y luego los que contienen '0':
SELECT * FROM YY ORDER BY FIELD(xx,0), xx asc;

ordenacion descendente, y luego los que contienen '0' (aunque en tu caso coincida con hacer simplemente 'DESC', lo siguiente sirve para cualquier caso:)
SELECT * FROM YY ORDER BY FIELD(xx,0), xx DESC;
  #7 (permalink)  
Antiguo 10/01/2013, 19:01
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Ordenar consulta

Tema movido desde PHP a Bases de Datos General.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: php, registro
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 10:11.