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

Duda con Sentencia Sql

Estas en el tema de Duda con Sentencia Sql en el foro de Mysql en Foros del Web. Hola amigos del foro, tengo una duda respecto a una Sentencia en sql, la cual no me muestra los resultados como yo quiero..... La sentencia ...
  #1 (permalink)  
Antiguo 27/08/2011, 22:20
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 4
Duda con Sentencia Sql

Hola amigos del foro, tengo una duda respecto a una Sentencia en sql, la cual no me muestra los resultados como yo quiero.....
La sentencia es esta:
Código MySQL:
Ver original
  1. "select  DISTINCT historico.Est_id,est_nombre,jue_nombre,his_fecha,his_errores,his_aciertos,
  2. niv_nombre,his_porcentaje
  3. FROM historico,estudiante,juego,nivel
  4. WHERE historico.est_id=estudiante.est_id and  historico.jue_id=juego.jue_id
  5. and historico.niv_id=nivel.niv_id  and historico.niv_id=".$niv_id." and gru_id=".$id_grupo."
  6. ORDER by his_fecha desc"

El resultado:

Aqui la Bd:

El inconveniente que tengo es que quiero que muestre los registros de todos los estudiantes en ese juego(Nivel), en este caso seria nivel 1 grupo 1, pero que por cada estudiante me muestre solo el registro mas nuevo, el mas reciente.... y me los está mostrando todos..

Porfavor alguien que me de una mano con esta sentencia......
  #2 (permalink)  
Antiguo 29/08/2011, 13:35
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Duda con Sentencia Sql

Alguna idea????
  #3 (permalink)  
Antiguo 30/08/2011, 13:23
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: Duda con Sentencia Sql

Haz la prueba colocando en el campo fecha lo siguiente max(his_fecha) de forma que te traiga la ultima para ese registro y ve si funciona.

Última edición por tomark4; 30/08/2011 a las 13:24 Razón: Falta notificacion por correo
  #4 (permalink)  
Antiguo 30/08/2011, 13:33
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Duda con Sentencia Sql

Cita:
Iniciado por tomark4 Ver Mensaje
Haz la prueba colocando en el campo fecha lo siguiente max(his_fecha) de forma que te traiga la ultima para ese registro y ve si funciona.

Gracias por responder, acabo de hacer lo que dices y me trae el ultimo registro ingresado pero de un solo estudiante y lo que quiero es uq me traiga el registro por asi decirlo el mas actual pero de cada estudiante diferente que ha realizado el juego, por que es para un juego, amigo......

En la imagen se ve como la consulta muestra tres registros



pero me deberia mostrar solo dos

El de carlos perez
Y el de Yeison Soto que tiene por fecha 2011-08-27 22:55:20 (que es el registro de yeison con la fecha mas reciente)

Última edición por YeisonSoto; 30/08/2011 a las 13:47
  #5 (permalink)  
Antiguo 30/08/2011, 13:53
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: Duda con Sentencia Sql

Pruebalo asi:

select distinct nombre, fecha
from tutabla
where fecha = (select max(fecha) from tu tabla)
and y tus parametros

asi deberia funcionar..!
  #6 (permalink)  
Antiguo 30/08/2011, 14:49
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Duda con Sentencia Sql

Cita:
Iniciado por tomark4 Ver Mensaje
Pruebalo asi:

select distinct nombre, fecha
from tutabla
where fecha = (select max(fecha) from tu tabla)
and y tus parametros

asi deberia funcionar..!
Tomark4, aun no me funcina , me devuelve el registro de Carlos perez que es el mas reciente, pero el de yeiosn soto mas reciente no lo muestra
  #7 (permalink)  
Antiguo 30/08/2011, 15:02
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: Duda con Sentencia Sql

ahora si te debe funcionar pruebalo de esta manera. yo lo probe con una tabla que tengo y de esta manera si me funciona


SELECT distinct nombre, max(fecha)
FROM tutabla
where tusparametros
GROUP BY nombre

lo que estaba faltando era el group para que te lo agrupe por cada nombre distinto con su ultima fecha.

espero que asi si te funcione
saludos
  #8 (permalink)  
Antiguo 30/08/2011, 15:12
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Duda con Sentencia Sql

Gracias amigo de hecho me funciono....Definitivamente el que sabe sabe.....

Etiquetas: registros, select, sentencia, sql
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 16:12.