Foros del Web » Programando para Internet » PHP »

Como recibir el ultimo resultado usando group by y order by al mismo tiempo

Estas en el tema de Como recibir el ultimo resultado usando group by y order by al mismo tiempo en el foro de PHP en Foros del Web. Como resivir el ultimo resultado usando group by y order by al mismo tiempo Hola quiero resivir el ultimo resultado pero solo me manda el ...
  #1 (permalink)  
Antiguo 29/05/2015, 03:25
Avatar de skywolker  
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 195
Antigüedad: 12 años, 8 meses
Puntos: 8
Pregunta Como recibir el ultimo resultado usando group by y order by al mismo tiempo

Como resivir el ultimo resultado usando group by y order by al mismo tiempo

Hola quiero resivir el ultimo resultado pero solo me manda el mas antiguo nose por que el order by no hace caso del id_sql ¿cual es la solucion?

Código PHP:
$query_mps=mysql_query("Select * from chat where privado_de='".@$_COOKIE['usuario']."' and privado_con != '' GROUP BY privado_con ORDER BY id_sql DESC ")or die(mysql_error()); 
el orden de grou by y despues order by es correcto de lo contrario daria error.
  #2 (permalink)  
Antiguo 29/05/2015, 06:08
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: Como recibir el ultimo resultado usando group by y order by al mismo tiemp

Es un tema de SQL, no de PHP.

No puedes usar una consulta simple. Tienes que hacer una consulta anidada, es decir el tipo de consulta donde el SELECT mayor aplica sobre el resultado de una consulta menor o tabla derivada.
Código PHP:
sql "SELECT * 
  FROM (SELECT * 
      FROM chat 
      WHERE  privado_de='"
.$_COOKIE['usuario']."' AND privado_con != '' 
  ORDER BY id_sql DESC) T1
GROUP BY privado_con;"
;

$query_mps=mysql_query($sql)or die(mysql_error()); 
__________________
¿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 29/05/2015, 07:06
Avatar de skywolker  
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 195
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Como recibir el ultimo resultado usando group by y order by al mismo tiemp

perfecto funciona muchas gracias , ¿puede decirme donde aprendis eso de T1 GROUP BY ? y todo eso de entre parentesis y dos SELECT * FROM (SELECT * FROM.
  #4 (permalink)  
Antiguo 29/05/2015, 07:19
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: Como recibir el ultimo resultado usando group by y order by al mismo tiemp

¿Donde aprendí?
Estudiando en la facultad, y trabajando en Bases de datos desde hace catorce años... El 99% es práctica.

Además, hay ciertos detalles que salen en los manuales de referencia (algunas cosas cambian entre DBMS), como por ejemplo lla lógica de funcionamiento de los GROUP BY y ORDER BY.

El SQL es flexible, pero no puedes pensarlo como si fuese un lenguaje de programación, por lo que es común que cometas errores al principio cuando tratas de embeber SQL en otro lenguaje, como en este caso.

En FDW hay subforos especificos de SQL y Bases de Datos, para las dudas que sólo refieren a las consultas de ese lenguaje.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: group, order, resultado, select, sql, tiempo, ultimo, usando
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 06:46.