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

Primeros Ultimo Registro por Fecha

Estas en el tema de Primeros Ultimo Registro por Fecha en el foro de Mysql en Foros del Web. Buen dia Jovenes... Para este caso tenemos una tabla con el id de pago y la fecha en la que se hizo, en este ejemplo ...
  #1 (permalink)  
Antiguo 16/07/2012, 16:43
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Mensaje Primeros Ultimo Registro por Fecha

Buen dia Jovenes...

Para este caso tenemos una tabla con el id de pago y la fecha en la que se hizo, en este ejemplo tenemos un ejemplo de 5 pagos (que han hecho ya varios pagos en diferentes fechas)

La pregunta del millon, "Traeme los registros de la ultima vez que pagó para cada pago", osea cuando fue la ultima vez que pago ese id_pago_parcial, los demas registros no me importan, solo la ultima vez que pago, para darles una ayudada en lo que busco serian los 5 primeros registros, solo esos 5, los demas pagos no importan, solo el utlimo. (obvio no es un limit 0,5 por que son N registros)

Ando haciendo un query mas grande pero ocupo partir de este resultado, ojala me puedan ayudar.



Cita:
Tabla pagos_parciales
id_pago_parcial fecha_pago
1 2012-07-16
2 2012-07-16
3 2012-07-16
4 2012-07-16
5 2012-07-16
2 2012-07-10
3 2012-06-20
4 2012-05-30
1 2012-04-30
2 2012-03-20
5 2012-04-20
3 2012-01-11
2 2012-03-20
4 2012-04-20
1 2012-04-20
5 2012-04-25
cualquier duda la contesto, se me ocurre un distinct para quitar los repetidos, luego un order by DESC, luego un limit... pero para hacer eso necesitamos saber cuantos son en total :S apuesto a que hay una instruccion que nos hace todas esas funciones

Última edición por mariomtzc; 17/07/2012 a las 06:55
  #2 (permalink)  
Antiguo 17/07/2012, 09:18
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Primeros Ultimo Registro por Fecha

Hola mariomtzc:

Tu consulta es bastante sencilla, lo único que tienes que hacer es utilizar el operador
MAX para obtener la máxima fecha (última) y agrupar por id_pago_parcial:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM pagos_parciales;
  2. +-----------------+------------+
  3. | id_pago_parcial | fecha_pago |
  4. +-----------------+------------+
  5. |               1 | 2012-07-16 |
  6. |               2 | 2012-07-16 |
  7. |               3 | 2012-07-16 |
  8. |               4 | 2012-07-16 |
  9. |               5 | 2012-07-16 |
  10. |               2 | 2012-07-10 |
  11. |               3 | 2012-06-20 |
  12. |               4 | 2012-05-30 |
  13. |               1 | 2012-04-30 |
  14. |               2 | 2012-03-20 |
  15. |               5 | 2012-04-20 |
  16. |               3 | 2012-01-11 |
  17. |               2 | 2012-03-20 |
  18. |               4 | 2012-04-20 |
  19. |               1 | 2012-04-20 |
  20. |               5 | 2012-04-25 |
  21. +-----------------+------------+
  22. 16 rows in set (0.00 sec)
  23.  
  24. mysql> SELECT id_pago_parcial, MAX(fecha_pago)
  25.     -> FROM pagos_parciales
  26.     -> GROUP BY id_pago_parcial;
  27. +-----------------+-----------------+
  28. | id_pago_parcial | MAX(fecha_pago) |
  29. +-----------------+-----------------+
  30. |               1 | 2012-07-16      |
  31. |               2 | 2012-07-16      |
  32. |               3 | 2012-07-16      |
  33. |               4 | 2012-07-16      |
  34. |               5 | 2012-07-16      |
  35. +-----------------+-----------------+
  36. 5 rows in set (0.01 sec)

Saludos
Leo.

Etiquetas: fecha, primeros, registro, registros, tabla, ultimo
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 00:39.