Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ronaldo Marcos

Buscar um número TAL de registro por coluna

Recommended Posts

Isso ai: Tenho uma tabela onde tem uma coluna chamada Cod_Departamento, gostaria em um SELECT apenas chamar os últimos registros de cada departamento cadastrado, que são dez.. Isto é: 1 (último) registro para cada departamento. Com o que sei de SQL não conseguir fazer. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ultimo você diz ultima dia creio eu....

 

 

seria algo assim

 

 

select tabela.* from tabela ,

(select departamento , max(dia) as ultimo_dia from tabela group by departamento) as tab_ultimo_dia

where

tabela.departamento = tab_ultimo_dia.departamento AND

tabela.dia=tab_ultimo_dia.ultimo_dia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não expliquei bem né? hehe, é o seguinte:

 

Tenho uma tabela que registram varios dados, mas cada dado se refere a um departamento... por isso nessa mesma tabela tem um campo que guarda o codigo do departamento. O que eu quero é criar uma consulta que mostre qual o último registro de cada departamento... digamos que tenho 3 departamentos... mas tem dezenas de registros em cada um... quero apenas 1 registro de cada um. Obrigado.

 

 

ultimo você diz ultima dia creio eu....

 

 

seria algo assim

 

 

select tabela.* from tabela ,

(select departamento , max(dia) as ultimo_dia from tabela group by departamento) as tab_ultimo_dia

where

tabela.departamento = tab_ultimo_dia.departamento AND

tabela.dia=tab_ultimo_dia.ultimo_dia

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo...

 

veja só Giesta, andei pesquisando e descobri esse select abaixo, funcionou como eu queria... contudo não conseguir entender a lógica dele, Obrigado:

 

SELECT *
FROM painel_noticia
	NATURAL JOIN (
		SELECT MAX(cod_noticia) AS cod_noticia
		FROM painel_noticia
		where destaque='S'
		GROUP BY COD_DEPARTAMENTO
		ORDER BY cod_departamento DESC
		LIMIT 3
	) AS derivada
ORDER BY painel_noticia.cod_noticia DESC

o ultimo inserido no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

natural join eh o seguinte eh um join 'normal' que ele junta automaticamente as colunas com mesmo nome, coisa de DBA preguiçoso as vezes isso gera um problema inesperado e quando você ve a sistema ta a um mes fazendo relatorio errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito, vou corrigir isso então, Obrigado Giesta.

 

natural join eh o seguinte eh um join 'normal' que ele junta automaticamente as colunas com mesmo nome, coisa de DBA preguiçoso as vezes isso gera um problema inesperado e quando você ve a sistema ta a um mes fazendo relatorio errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.