1
resposta

COSULTA QUE RETORNA REGISTRO A CADA SEQUÊNCIA DE DATAS

Bom dia, já quebrei minha cabe de toda forma e ainda não consegui encontrar a solução...

Tenho uma base de dados simples como exemplo, Nome/Data. Quero fazer uma consulta que me retorne as a menor e maior data de um período encontrado para cada nome....

Ex, no exemplo eu tenho duas sequencias. Uma que se inicia em 31/01/2022 e termina em 03/02/22. Após isso eu tenho uma quebra e sequencia seguinte é 13/05/2022 a 15/05/22..

Tentei usar max e min combinado com outros comandos, mas sempre me retorna 31/01 e 15/05. Caso eu tivesse uma data solta ex 20/05/2022 ela deveria aparecer em uma linha como inicio e fim ...

Alguem consegue me ajudar ? Desde já agradeço toda atenção;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Yago, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Yago, ao fazer uma consulta que retorne o maior e menor data, utilizando os dados que você colocou como exemplo, ele sempre retornará 31/01/2022 e 15/02/2022, pois não há nenhuma coluna que especifique as sequências que você mencionou. Portanto, ele considera a menor data de todas as datas armazenadas no banco de dados, assim como a maior data também.

Uma solução seria criar uma coluna, com valores correspondentes ao intervalo especificado, onde algumas datas correspondente ao primeiro intervalo seria 1, ao segundo intervalo seria 2 e assim sucessivamente.

Algo assim:

NomeDataPeríodo
Yago31/01/20221
Yago01/02/20221
Yago02/02/20221
Yago03/02/20221
Yago13/02/20222
Yago14/02/20222
Yago15/02/20222

A consulta nesse caso, seria utilizando a cláusula where, onde filtraríamos pelo período correspondente. A consulta fiacria assim:

SELECT Periodo, MIN(Data) AS Minimo, MAX(Data) AS Maximo
FROM Exemplo2
WHERE Periodo = 1
GROUP BY Periodo;

A tabela gerada dessa consulta ficaria assim:

PeríodoMínimoMáximo
12022-01-312022-02-03

Note, que foi retornado a menor e maior data do período 1.

Espero ter ajudado.

Caso surja alguma dúvida, compartilhe no fórum.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!