SQL - Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 195 puestos en SQL (en relación al último mes)
Gráfica de SQL

Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

Publicado por Henry (3 intervenciones) el 28/06/2021 17:59:14
Buenos días estimados, soy nuevo en el grupo y tengo la siguiente consulta:

Tengo una tabla de 10000 registros, dentro de las cuales hay estudiantes que tienen 1,2,3,4 a 10 registros, como puedo crear una consulta que solo me muestre un estudiante por fila, pero el que corresponda a la fecha mas reciente.

Espero su ayuda

Gracias.

Henry
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

Publicado por Francisco (62 intervenciones) el 28/06/2021 21:00:23
Hola

Por agrupamiento

1
2
3
SELECT MAX(fecha), id_estudiante
FROM estudiantes
GROUP BY id_estudiante

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 195 puestos en SQL (en relación al último mes)
Gráfica de SQL

Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

Publicado por Henry (3 intervenciones) el 29/06/2021 01:21:44
Gracias por tu comentario, y si quiero agregar que en el listado salga adicional un campo mas, por ejemplo nota a la que corresponde esa fecha, que tengo que agregar??

Agregue al final el campo

1
2
3
SELECT MAX(fecha), id_estudiante, Nota
FROM estudiantes
GROUP BY id_estudiante

Pero ya me muestra varios registros y solo quiero la nota del registro mas reciente

Gracia por tu apoyo


Salufos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

Publicado por Vega (73 intervenciones) el 29/06/2021 12:06:04
dependiendo del motor sql que tengas, una manera de hacerlo sería volviendo a hacer una segunda consulta y unir los resultados en funcion de la fecha y el id del estudiante.
1
2
3
4
5
6
7
8
9
SELECT NM.*
, A.Nota
FROM	estudiantes A
JOIN	(
	SELECT	FECHA = max(FECHA)
	,	id_estudiante
	FROM	estudiantes
	GROUP BY id_estudiante
) NM ON A.Fecha = NM.FECHA AND A.id_estudiante = NM.id_estudiante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 195 puestos en SQL (en relación al último mes)
Gráfica de SQL

Seleccionar un determinado registro de un grupo de acuerdo a la fecha mas reciente

Publicado por Henry (3 intervenciones) el 08/07/2021 16:48:27
Gracias Francisco,

He tratado, pero no logro obtener lo que deseo, te comento:

Tengo una tabla de datos con los siguientes campos: Nro, Dni, FechaMatricula,Programa, y otros campos mas,

Lo que deseo es obtener una consulta solo con estos campos: Nro, Dni, Fecha-Matricula,Programa

Recuerda que hay estudiantes que tienen 1,2,3,4 a 10 registros y solo quiero el registro que sea de la fecha mas reciente

Estoy trabajando con el motor SQL-SERVER

Espero no abusar de tu buena voluntad, quedo atento a tu respuesta y muchas gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar