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

[SOLUCIONADO] hacer select sin que ordene

Estas en el tema de hacer select sin que ordene en el foro de Mysql en Foros del Web. Buenas a todos, tengo lo siguientes id de la siguiente forma... 8976,8720,8727,8754 El problema que tengo que al hacer el select, me los ordena de ...
  #1 (permalink)  
Antiguo 01/07/2014, 04:19
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
hacer select sin que ordene

Buenas a todos, tengo lo siguientes id de la siguiente forma...

8976,8720,8727,8754

El problema que tengo que al hacer el select, me los ordena de forma asc y queda de la siguiente forma...

8720,8727,8754,8976

Yo quisiera que el select lo hiciera tal y como le paso los ids, sin que que los ordene.
  #2 (permalink)  
Antiguo 01/07/2014, 04:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: hacer select sin que ordene

Podrias mostrar que select estas usando?

Sql es declarativo debes decirle lo que quieres, el orden de los datos debes especificarlo para que el motor sepa lo que quieres.

Código MySQL:
Ver original
  1. SELECT id FROM tutabla;

sin más retornará todos los registros de "tutabla" en el orden que las condiciones del disco permita retornarlos lo más rápido posible. O lo que es lo mismo NO los retornará siempre en el mismo orden.


Código MySQL:
Ver original
  1. SELECT id FROM tutabla ORDER BY <<condición>>;

Los retornará siempre respetando la <<condición>>.

Para listar los id en un orden que NO responde a su valor necesitas otro campo que informe al motor de como debe ordenar los registros.

LO SIENTO ES LO QUE HAY
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 01/07/2014, 04:51
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: hacer select sin que ordene

Código MySQL:
Ver original
  1. SELECT * FROM wp_posts
  2. WHERE id IN (SELECT object_id FROM wp_term_relationships WHERE object_id IN ($result))

Eso donde $result tengo los ids... una string

Código:
string(19) "8976,8720,8727,8754"

Última edición por gnzsoloyo; 01/07/2014 a las 07:17
  #4 (permalink)  
Antiguo 01/07/2014, 06:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: hacer select sin que ordene

No hay solución sin más información...como ya te dige en el primer post.

Ahora lo que si puedes hacer es simplificar esa query

Código MySQL:
Ver original
  1. SELECT * FROM wp_posts WHERE id IN ($result);

Da exactamente los mismos registros.

Si wp_posts.di=wp_term_relationships.object_id=$resul t luego wp_posts.di=$result
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 01/07/2014, 08:30
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: hacer select sin que ordene

Gracias por tu tiempo
  #6 (permalink)  
Antiguo 01/07/2014, 09:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: hacer select sin que ordene

Prueba esto:
Código MySQL:
Ver original
  1. SELECT * FROM wp_posts
  2. ORDER BY FIELD (id, $result)
donde $result debe ser el set de datos mencionado, tal que quedase armado así:
Código MySQL:
Ver original
  1. SELECT * FROM wp_posts
  2. ORDER BY FIELD (id, 8976,8720,8727,8754)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 09/07/2014, 03:49
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: hacer select sin que ordene

No vi tu mensaje, lo siento.

Al final lo solucione pasándole en lugar de una variable en forma de string, le pase una variable de tipo array.

Entonces respeto mi orden.

Gracias por todo.

Etiquetas: select
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 17:33.