Agrupar datos mostrando la última fecha

Cuando estamos trabajando, siempre se nos piden muchas consultas, para obtener todos los datos posibles, para poder obtener el máximo de información. Y una de las consultas que se me ha repetido muchas veces es, encontrar el total de pedidos obteniendo la última fecha del pedido y en otros sitios la petición de datos era diferente, pero con el mismo fin, datos agrupados con la fecha más reciente.

Datos de ejemplo

En este ejemplo, vamos a tener dos simples tablas, la tabla clientes, con los datos de los clientes:

id_clientenombreapellidosemail
1AlbertoMartínezoyagum@gmail.com
2JuanLopezjlopez@gmail.com
3MariaSanchezmsanchez@gmail.com
4PedroAlmodovarpalmodovar@gmail.com
5AlbertoMartínezoyagum@gmail.com

 

Y la tabla pedidos con los datos de los pedidos

idfecha_creacionfecha_updateprecio_totalid_persona
12017-02-06 21:28:012017-02-05 21:28:10501
22017-02-05 21:38:482017-02-05 21:38:48464
32017-02-05 21:38:502017-02-05 21:38:501151
42017-02-05 21:38:502017-02-05 21:38:50803
52017-02-05 21:38:502017-02-05 21:38:501353
62017-02-05 21:38:502017-02-05 21:38:50505
72017-02-05 21:38:502017-02-05 21:38:501462
82017-02-05 21:38:502017-02-05 21:38:50791
92017-02-05 21:38:512017-02-05 21:38:51564
102017-02-05 21:38:512017-02-05 21:38:511143
112017-02-05 21:38:512017-02-05 21:38:51915
122017-02-05 21:38:512017-02-05 21:38:511283
132017-02-05 21:38:512017-02-05 21:38:511483
142017-02-05 21:38:522017-02-05 21:38:52844
152017-02-05 21:38:532017-02-05 21:38:531292
162017-02-05 21:38:532017-02-05 21:38:531261
172017-02-05 21:38:532017-02-05 21:38:53904
182017-02-05 21:38:532017-02-05 21:38:531094
192017-02-05 21:38:542017-02-05 21:38:541274
202017-02-05 21:38:542017-02-05 21:38:54783
212017-02-05 21:38:542017-02-05 21:38:541001
222017-02-05 21:38:542017-02-05 21:38:54623
232017-02-05 21:38:542017-02-05 21:38:54433
242017-02-05 21:38:552017-02-05 21:38:551261
252017-02-05 21:38:552017-02-05 21:38:551032

Tengo más datos en la tabla de pedidos, pero es para que os hagáis una idea.

 

La consulta SQL

Y ahora pasaremos a obtener la consulta para conseguir el total de pedidos de los clientes y la fecha de la última vez que compraron

Así que aquí os pongo como sería la consulta SQL:

Resultado

Y este sería el resultado de la consulta.

total_compradoultima_fecha_compranombreapellidosemail
152017-02-06 21:28:01AlbertoMartínezoyagum@gmail.com
162017-02-05 21:39:10JuanLopezjlopez@gmail.com
192017-02-05 21:39:04MariaSanchezmsanchez@gmail.com
202017-02-05 21:39:09PedroAlmodovarpalmodovar@gmail.com
152017-02-05 21:39:09AlbertoMartínezoyagum@gmail.com
4 comentarios

    allen

    Saludos gracias, me sirvio el principio que utilizo en las consulta. tenia que sacar un reporte del total por genreos de los miembros que pertenen a una organizacion y la cual estuviera activa,ademas fuera parte de la junta directiva y la junta directiva fuera la vigente.

      Oyagum

      Buenas,

      Me alegro mucho que te haya sido de utilidad, aquí intento dar soluciones a los problemas cotidianos 🙂

    ALEXANDER MARURI TTITO

    Tengo un problema muy parecido solo que trabajo con 4 tablas; PERSONAS, MOVIMIENTOS, CLUBES,TIPOMOV
    Personas
    1,Juan
    2,Mario

    TipoMov
    1, Registro Inicial
    2, Pase Libre

    Clubes
    1,Alianza
    2,Velez

    MOVIMIENTOS
    idMovimiento,id_Persona,id_tipoMovi,id_Club,FechaMov
    1,1,1,1,2019-01-01
    2,1,2,1,2019-05-05
    3,1,2,2,2019-12-30
    4,2,1,2,2019-02-01
    5,2,2,2,2020-02-26

    RESULTADO, lo que busco es obtener un listado de las personas con la ultima fecha de movimiento, a que club pasaron y que tipo de movimiento fue.

    MOVIMIENTOS
    idMovimiento,NomPersona,TipoMov,NomClub,FechaMov
    3,Juan,Pase Libre,Velez,2019-12-30
    5,Mario,Pase Libre,Velez,2020-02-26

    He intentado varias ideas que consegui en internet pero sin exito, aplique el MAX, pero solo me devuelve el valor de ese campo, pero necesito que me retorne el valor de toda la fila, ya que con los valores de la fila puedo llamar a las demas tablas y obtener los valores reales de las demas tablas, UNA AYUDA POR FAVOR… estoy casi desesperado porque nose como plasmar mi idea en el codigo MySql

    jonathan

    muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*
*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.