Boa tarde amigos,
Novamente, venho pedir ajuda a vocês:
Em uma consulta, tenho o seguinte retorno:
MATRICULA CAMPANHA DT_INICIA LOGADO
847123 CLICK 21 25/02/2008 16:47:11 1
847123 Mundo21 25/02/2008 16:48:23 1
847123 Mundo21 25/02/2008 16:50:34 0
839301 CLICK 21 25/02/2008 18:32:30 1
839301 CLICK 21 25/02/2008 18:32:43 0
Gostaria de uma query que me retornasse as linhas da última data de cada matrícula.
Como exemplo, o retorno ficaria assim:
847123 Mundo21 25/02/2008 16:50:34 0
839301 CLICK 21 25/02/2008 18:32:43 0
Penso que deveria usar Group By mas não sei como fazer isso. Fiz esta consulta:
SELECT MATRICULA, CAMPANHA, SUBSTR(DT_INICIA, 0, 10), LOGADO FROM TBL_WBO_LOGONLINE
WHERE MATRICULA = MATRICULA AND DT_INICIA >=
(SELECT MAX(DT_INICIA) FROM TBL_WBO_LOGONLINE)
ORDER BY DT_INICIA DESC, CAMPANHA ASC
Mas só retorna a última linha da tabela por data, eu queria por matrícula, como citei acima.
Gostaria que alguém me explicasse como chegou a esta conclusão, pois gostaria de aprender também!
Obrigado a todos vocês que vem me ajudando.
Abraço!
Retornar registros por matrícula e maior data
-
- Rank: Programador Júnior
- Mensagens: 23
- Registrado em: Sex, 16 Nov 2007 8:12 am
- Localização: ES
-
- Rank: DBA Sênior
- Mensagens: 324
- Registrado em: Sex, 02 Jun 2006 1:48 pm
- Localização: sp
- Contato:
Criança um elogio...o group by é o caminho...
um puxão de orelha...estuda a função max() você vai conseguir com ele...
Ps: desculpa o puxão, mas aprender sozinho sempre dá mai resultado...
nem tentei, mas antes da uma procurada no forum, aposto que alguém já tevem algum problema assim por aqui...
um puxão de orelha...estuda a função max() você vai conseguir com ele...
Ps: desculpa o puxão, mas aprender sozinho sempre dá mai resultado...
nem tentei, mas antes da uma procurada no forum, aposto que alguém já tevem algum problema assim por aqui...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes