Pessoal,

Assumindo meus limitados conhecimentos, tenho uma dúvida e gostaria de um
auxílio do grupo.

Vamos a dúvida:

CREATE TABLE "registros"
(
    "ID" INTEGER NOT NULL,
    "tipo" INTEGER NOT NULL,
    "data" DATE NOT NULL,
    "capacidade" SMALLINT NOT NULL
-- outras diversas colunas que não fazem diferença para o entendimento do
problema
);

O campo ID é a PK.

Para fazer um select que retorne todos os dados do registro, mas apenas o
de maior data, atualmente faço isso:

Select r1.*
from registros r1
join (select max(data) as data, tipo
          from registro
         group by tipo) r2 on r1.tipo = r2.tipo and r1.data = r2.data


Pergunto: Existe alguma forma melhor (mais otimizada ou de melhor escrita)
para fazer essa consulta? Ou esta é a única forma?

Desde já agradeço

Atenciosamente,
Luciano
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a