Message: 2 Date: Fri, 3 Aug 2012 16:21:49 -0300 From: Osvaldo Kussama<[email protected]> Subject: Re: [pgbr-geral] Fwd: Re: ajuda com select To: Comunidade PostgreSQL Brasileira <[email protected]> Message-ID: <cadgbbqjcbcn5bchl47c_9epakaoypbhu9juqf2pldsi_jbh...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1
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 Nao tinha usado WHERE ROW ainda, Obrigado novamente Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
