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

Problema con Order by ASC/DES

Estas en el tema de Problema con Order by ASC/DES en el foro de Mysql en Foros del Web. Buenos días amigos, esta vez escribo porque tengo un problema con la sentencia order by ASC/DES, hay alguna otra forma de ordenar los registros de ...
  #1 (permalink)  
Antiguo 12/07/2010, 10:18
 
Fecha de Ingreso: junio-2010
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 1
Problema con Order by ASC/DES

Buenos días amigos, esta vez escribo porque tengo un problema con la sentencia order by ASC/DES, hay alguna otra forma de ordenar los registros de manera ascendente y descendente? porque he tratado de hacerlo de esa forma y no me funciona, y el campo que quiero ordenar es INT así que ese no es el problema. Me preguntaba si podría ser la versión de mysql que utlizo, en este caso es la 6.0.4.

La sentencia es la siguiente:
select * from comentario where idTema = '$idTema' order by id asc

Gracias de antemano por sus respuestas y su ayuda.

Saludos.

Última edición por ruooo; 12/07/2010 a las 10:33 Razón: Faltaba información
  #2 (permalink)  
Antiguo 12/07/2010, 10:21
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: Problema con Order by ASC/DES

Empieza por postear la consulta, porque sin verla es imposible saber por qué no te está ordenando el resultado, tal y como lo dices.
El ORDER BY tiene una sola forma de escribirse, pero puede que tengas algo en la consulta que deba afinarse.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/07/2010, 10:36
 
Fecha de Ingreso: junio-2010
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Problema con Order by ASC/DES

Si, se me había olvidado postear la sentencia, acabo de editar la pregunta, pero porsia lo vuelvo a poner.

La sentencia es la siguiente:
select * from comentario where idTema = '$idTema' order by id asc
  #4 (permalink)  
Antiguo 12/07/2010, 11:38
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: Problema con Order by ASC/DES

Código MySQL:
Ver original
  1. SELECT  *
  2. FROM comentario
  3. WHERE idTema = '$idTema'
Si "id" es el identificador de la tabla "comentarios", y además e numérico y autoincremental, como parece ser el caso, el poner ASC es irrelevante porque el orden será siempre ascendente (ASC).
Par ver si funciona o no la sentencia debería ser o más compleja o estar basada en otro campo, o bien, invertir el orden. Recién allí podrías notar algo.
Pero además ten en cuenta que el WHERE está filtrando sólo a los que estén incluidos en un valor dado (que por otra parte, como entra por variable, si no controlas que no venga vacía no te devolverá anda), sólo operará con los que cumplan esa condición...
¿Cuál es en este caso el problema que se produce y que te hace decir que hay un inconveniente?

Ahora bien, releyendo lo que planteas, hay algo absurdo:
Cita:
hay alguna otra forma de ordenar los registros de manera ascendente y descendente?
¿Ascendente y descendente al mismo tiempo? ¿Estás seguro de lo que estás preguntando? ¿Que el ID sea 1, 2, 3, 4 y al mismo tiempo 4, 3, 2, 1...? O tienes un orden o tienes otro. Son autoexcluyentes.

¿No será que quieres ordenar en base a mas de un campo al mismo tiempo? Eso es otra cosa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 12/07/2010, 12:28
 
Fecha de Ingreso: junio-2010
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Problema con Order by ASC/DES

ahhhhhhhhh, woww tienes toda la razón, sin embargo he probado directamente en mysql a hacerla inversa (descendente) con un numero concreto de idTema (select * from comentario where idTema = 1 order by id desc) e igual no trae ningún registro.
En cuanto a la pregunta, tienes razón estuvo mal formulada, la verdadera pregunta era si hay otra forma de hacer ese tipo de "order by" para ordenar listados de números independientemente de si son de campos índice o no?

Muchas gracias por su respuesta, a veces las cosas no son tan fáciles de ver cuando somos novatos.

Etiquetas: order
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 22:49.