Consulta SQL do Oracle: recupera os valores mais recentes por grupo com base no tempo [duplicado]
Esta questão já tem uma resposta aqui:
Busque a linha que tem o valor Máximo de uma coluna 34 respostasEu tenho a tabela a seguir em um banco de dados Oracle
id date quantity
1 2010-01-04 11:00 152
2 2010-01-04 11:00 210
1 2010-01-04 10:45 132
2 2010-01-04 10:45 318
4 2010-01-04 10:45 122
1 2010-01-04 10:30 1
3 2010-01-04 10:30 214
2 2010-01-04 10:30 5515
4 2010-01-04 10:30 210
Agora eu gostaria de recuperar o valor mais recente (e seu tempo) por id. Exemplo de saída:
id date quantity
1 2010-01-04 11:00 152
2 2010-01-04 11:00 210
3 2010-01-04 10:30 214
4 2010-01-04 10:45 122
Eu simplesmente não consigo descobrir como colocar isso em uma consulta ...
Além disso, as seguintes opções seriam boas:
Opção 1: a consulta só deve retornar valores dos últimos XX minutos.
Opção 2: o id deve ser concatenado com o texto de outra tabela que tenha id e idname. saída para id deve ser assim: id-idname (por exemplo, 1-testid1).
Muito obrigado por qualquer ajuda!