rsrsrs, na hora de escrever o select inverti o max e min, mas como aprendemos lá no pré rsrsrs, a “ordem dos fatores não altera o produto”, mas no sistema está o min primeiro por questão didática E valeu por me confirmar que cada coluna é vista individualmente... Mas confeço que já tive problemas por esse comportamente individual de coluna... vou dar uma exemplo:
Tenho os seguintes registros: Data Hora 10/04/2012 13:00:00 10/04/2012 14:00:00 11/04/2012 12:00:00 11/04/2012 12:30:00 Vamos supor que eu precise pegar a maior data e nesta data a maior hora, se eu usar o Max(Data) e Max(Hora) ele vai me trazer a data 11/04/2012 e a hora 14:00:00 o que estaria errado, pois eu precisaria da maior hora do dia 11/04/2012 mesmo com o group by no campo data ele ainda traz a hora errada, precisei fazer assim: select max(data) as mdata, hora from tabela group by hora order by hora desc limit 1 From: Matheus de Oliveira Sent: Wednesday, April 11, 2012 10:59 AM To: Comunidade PostgreSQL Brasileira Cc: Marcelo Silva (IG) Subject: Re: [pgbr-geral] Duvida em MAX() x MIN() no mesmo SELECT select max(data_cad) as data_ini, min(data_cad) as data_min Não tá ao contrário, não seria algo do tipo: select min(data_cad) as data_ini, max(data_cad) as data_fim Ele trata cada coluna individualmente nesse caso? Sim, você pensou certo, nesse e em qualquer caso, ele vai varrer todas as linhas e cada função de agregação só pega o que interessa a ela, uma não toma conhecimento da existência da outra. On Wed, Apr 11, 2012 at 10:54 AM, Guimarães Faria Corcete DUTRA, Leandro <[email protected]> wrote: 2012/4/11 Marcelo Silva (IG) <[email protected]> > > Bem, a intenção não é agrupar, pro isso não coloquei nenhuma outra coluna. Mas M(AX|IN) são funções de agregação, não? > A idéia é justamente pegar a maior e a menor data. Então ele fez exatamente o esperado, não? > Imagino que neste caso não seja necessário o Group By Até estranhei, para mim o uso de função de agregação exigia o GROUP BY. Se você não usa o GROUP BY, ele agrupa tudo (retornando apenas uma tupla), então não exige. Mas se você quiser adicionar outras colunas, vai ter que colocar o GROUP BY (mesmo que o resultado também dê só uma tupla). Você pode até mesmo usar um join. Atenciosamente, -- Matheus de Oliveira Bacharelado em Ciências de Computação Laboratório de Computação de Alto Desempenho - LCAD Instituto de Ciências Matemáticas e de Computação - ICMC Universidade de São Paulo - USP
<<wlEmoticon-smile[1].png>>
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
