Em 03/08/12, flavio<[email protected]> escreveu: > >> Pessoal >> poderiam me ajudar com uma select? >> >> Tabela com as colunas: a,b,c,data >> Todas as colunas fazem parte da chave. >> >> Como listar todos os dados menos o registro com a maior data? >> A minha intenção é excluir todos os registros, menos o ultimo (com a >> maior data). >> Eu só sei que posso conseguir o ultimo agrupando e pedindo o max(data) >> mas não sei como fazer para listar todos menos este. >> >> Obrigado pelas ideias... > >> Use EXCEPT. >> >> SELECT a,b,c,data FROM sua_tabela >> EXCEPT >> SELECT a,b,c,MAX(data) FROM sua_tabela GROUP BY a, b, c; >> >> Osvaldo > Osvaldo > A select fica beleza. > Como fazer isto com delete: > > DELETE FROM sua_tabela > EXCEPT > SELECT a,b,c,MAX(data) FROM sua_tabela GROUP BY a, b, c; > > > assim da erro de sintaxe no EXCEPT > Obrigado > Flávio >
DELETE FROM sua_tabela WHERE ROW(a, b, c, d) NOT IN (SELECT a, b, c, MAX(data) AS d FROM sua_tabela GROUP BY a, b, c); Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
