COMO MONTO ESTA QUERY AGUPANDO CADA 2 DATAS
                    Olá pessoal tenho a seguinte tabela no SQL Server
Data Valor
2023-03-15 5
[txt-color=#e80000]2023-03-17 7[/txt-color]
[txt-color=#e80000]2023-03-18 9[/txt-color]
2023-03-21 5
[txt-color=#e80000]2023-03-25 7[/txt-color]
Como monto uma query para pegar o Maior valor cada duas datas.
No caso seria maior entre dia 15 e 17, maior entre 18 e 21 e como o dia 25 não tem um par, pega ele mesmo
Resulraria em:
Data Valor
2023-03-17 7
2023-03-18 9
2023-03-25 7
A tabela estaria ordenado por Data e as datas não se repetem.
Grato se alguém souber como posso fazer
                
            Data Valor
2023-03-15 5
[txt-color=#e80000]2023-03-17 7[/txt-color]
[txt-color=#e80000]2023-03-18 9[/txt-color]
2023-03-21 5
[txt-color=#e80000]2023-03-25 7[/txt-color]
Como monto uma query para pegar o Maior valor cada duas datas.
No caso seria maior entre dia 15 e 17, maior entre 18 e 21 e como o dia 25 não tem um par, pega ele mesmo
Resulraria em:
Data Valor
2023-03-17 7
2023-03-18 9
2023-03-25 7
A tabela estaria ordenado por Data e as datas não se repetem.
Grato se alguém souber como posso fazer
                    Select max(valor) where data>="datamenor" and data <="datamaior"
                
            
                    Opa,
Maior cada Duas datas
            Maior cada Duas datas
                    Talvez facilitaria se se colocassemos em uma primeira tablela um agrupamento ai pegaria o maior em cada grupo, 
Como poderia fazer um Gupo cada duas linhas?
Grupo Data Valor
1 2023-03-15 5
1 2023-03-17 7
2 2023-03-18 9
2 2023-03-21 5
3 2023-03-25 7
                
            Como poderia fazer um Gupo cada duas linhas?
Grupo Data Valor
1 2023-03-15 5
1 2023-03-17 7
2 2023-03-18 9
2 2023-03-21 5
3 2023-03-25 7
                    Qual o critério para as duas datas que quer pegar o maior?
                
            
                    Pegar duas linhas não tem criterio, sempre serão duas linhas fixas.
Na tabela principal não tem mais nada que identifique cada duas linhas.
A unica coisa que tenho uma sequencia crescente de datas e valores
            Na tabela principal não tem mais nada que identifique cada duas linhas.
A unica coisa que tenho uma sequencia crescente de datas e valores
                    Será que só um loop e colocar um contador + 1 cada dois registros em uma tabela  e depois numa tabela 2 vejo o maior por grupo
                
            
                    Achei interessante e acabei pegando um pouco do horário de almoço pra fazer.
Segue um exemplo:
	
Ve se faz sentido. Se tiver alguma dúvida sobre algo, só avisar.
                
            Segue um exemplo:
DECLARE @ExemploTabela AS TABLE
(
	[data] date PRIMARY KEY,
	valor int
)
INSERT INTO @ExemploTabela ([data], valor) VALUES
	("2023-03-15", 5), ("2023-03-17", 7), ("2023-03-18", 9),
	("2023-03-21", 5), ("2023-03-25", 7)
;WITH tPosicional(posicao, [data], valor) AS
(
	SELECT
		*
	FROM
	(
		SELECT 
			ROW_NUMBER() OVER (order by t2.[data] ASC) as posicao,
			t2.*
		FROM
			@ExemploTabela t2
	) t1
)
SELECT 
	CASE WHEN t2.valor > t1.valor THEN t2.[data] ELSE t1.[data] END [Data],
	CASE WHEN t2.valor > t1.valor THEN t2.valor ELSE t1.valor END Valor
FROM 
	tPosicional t1 
	LEFT JOIN tPosicional t2 on t1.posicao = t2.posicao - 1
WHERE
	t1.posicao % 2 = 1
Ve se faz sentido. Se tiver alguma dúvida sobre algo, só avisar.
                    DS2T, 
Perfeito, funcionou 100% como precisava!
Muito Obrigado.
            Perfeito, funcionou 100% como precisava!
Muito Obrigado.
                        Tópico encerrado , respostas não são mais permitidas
                    
                


