I have a table that is a collection entries to the progress of law processes.
id_andamento_processo id_processo data_andamento hora_andamento descricao
1 18 2016-05-30 14:00:00
2 3122 2016-05-18 16:08:54 campo para o texto da PUBLICAÇÃO DO DIÁRIO OFICIAL
3 3122 2016-05-18 16:09:55 campo para o texto da PUBLICAÇÃO DO DIÁRIO OFICIAL
4 3122 2016-05-18 16:13:49 campo para o texto da PUBLICAÇÃO DO DIÁRIO OFICIAL
5 2001 2015-07-15 14:34:54 ANDAMENTO: 30/06/2014 Protocolo (E-Doc 12148046) 10003/2014 (LAT-Laudo Assistente Técnico): PROTOCOLO
6 2001 2015-07-15 14:34:54 ANDAMENTO: 03/07/2014 Protocolo (E-Doc 12174924) 10352/2014 (LPC-Laudo Pericial (Conhecimento)): PROTOCOLO
7 2001 2015-07-15 14:34:54 ANDAMENTO: 15/07/2014 Devolução de Carga
How do I create a query that would give me the latest date and hour for each process?
I have followed the aswer to this related question: how do I query sql for a latest record date for each user and I am able to get the latest date to each process.
select a.id_processo, a.data_andamento, a.hora_andamento, a.descricao_ptbr
from andamento_processo a
inner join (
select id_processo, max(data_andamento) as Maxdata_andamento
from andamento_processo
group by id_processo
) am on a.id_processo = am.id_processo and a.data_andamento = am.Maxdata_andamento
However, this returns duplicate progress with the same date and different time:
id_processo data_andamento hora_andamento descricao_ptbr
0 2016-06-09 11:03:00
18 2016-06-21 11:01:00
18 2016-06-21 11:12:00 Verificação teste para o RR juridico.
18 2016-06-21 11:37:00 Teste
I tried to do add a MAX on the hour of the progress, but didn't work, some progresses disappeared. I tried like this:
select a.id_processo, a.data_andamento, a.hora_andamento, a.descricao_ptbr
from andamento_processo a
inner join (
select id_processo, max(data_andamento) as Maxdata_andamento, max(hora_andamento) as Maxhora_andamento
from andamento_processo
group by id_processo
) am on a.id_processo = am.id_processo and a.data_andamento = am.Maxdata_andamento and a.hora_andamento = am.Maxhora_andamento
I am using MySQL. I need a query without duplicate progresses, like this:
id_processo data_andamento hora_andamento descricao_ptbr
0 2016-06-09 11:03:00
18 2016-06-21 11:37:00 Teste
1006 2016-05-25 16:10:10 Descrição: Mero expediente (19/05/16) Descrição: Mero expediente (19/05/16)