Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Selecionar dados com a maior data


Alininha

Pergunta

Tenho uma base de dados com algumas praias, algumas dessas praias possuem a mesma descrição e o que as diferem é o seu id e sua locallização, categoria e data.

Aí vai um exemplo da minha base da dados:

id     descricao                   local                         categoria   data 
1      S. Tomé de Paripe      No meio da praia      Própria      2009-01-05
31     S. Tomé de Paripe     No meio da praia     Imprópria     2009-01-06
Tenho que mostrar todas as informações das praias que possuem a maior data. Tentei faz através do select:
SELECT 
   pra_id,
   pra_descricao,
   pra_local, 
   pra_categoria, 
   max(pra_data) as data
FROM jos_praias
GROUP BY pra_local
ORDER BY data DESC, pra_descricao ASC
mas, ele me traz:
1      S. Tomé de Paripe      No meio da praia      Própria      2009-01-06
ao invés de:
31     S. Tomé de Paripe     No meio da praia     Imprópria     2009-01-06

que seria a informação correta. Pois a categoria é diferente.

Alguém pode apontar no que errei?

Valeu.

Editado por Denis Courcy
Melhorar entendimento
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'Alininha' !

Não há nada de errado com o comando que você deu. O resultado é este mesmo. Por padrão, o GROUP BY vai pegar o primeiro registro que coincide com o que você determinou e vai pegar o campo agregado conforme você determinou, também. O que você achou estranho foi aparecer dados dó primeiro registro e a agregação veio do último registro, mas isto é normal.

Experimente fazer deste jeito:

SELECT pra_id,
   pra_descricao,
   pra_local, 
   pra_categoria, 
   pra_data 
FROM jos_praias
WHERE (pra_local, pra_data) IN  (SELECT 
      pra_local, 
      max(pra_data)
   FROM jos_praias
   GROUP BY pra_local)
ORDER BY pra_data DESC, pra_descricao ASC

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...