extraindo as entradas mais recentes para cada grupo no Oracle SQL
Este tutorial demonstra uma tarefa comum de banco de dados: recuperando o registro mais recente para cada grupo com base em um registro de data e hora. Usaremos uma tabela contendo IDs, registros de data e hora e quantidades como exemplo.
Desafio:
dada uma tabela com ID, registro de data e hora ("Data") e Quantidade ("Quantidade"), como selecionamos com eficiência a quantidade mais recente (e seu registro de data e hora associado) para cada ID exclusivo?
Solução:
isso pode ser alcançado usando a seguinte abordagem:
O seguinte Oracle SQL Query implementa esta solução:
SELECT x.id, x."date", x.quantity
FROM (
SELECT
id,
"date",
RANK() OVER (PARTITION BY id ORDER BY "date" DESC) AS rnk,
quantity
FROM qtys
) x
WHERE x.rnk = 1;
estendendo a consulta:
Esta consulta básica pode ser adaptada para atender às necessidades mais complexas:
onde
à consulta interna para restringir os resultados a um período de tempo específico. id
colun. Por exemplo, você pode participar de uma tabela contendo ID e nome para incluir nomes na saída. Este método fornece uma maneira robusta e eficiente de recuperar os valores mais recentes por grupo com base em um registro de data e hora no Oracle SQL, aplicável a várias tarefas de análise de dados e manipulação.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3