ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Select Min, Max e AVG de um outro Select[ RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
tiagorogers1
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 17 de Julho de 2015
Mensagens: 215
Localização: Recife

MensagemEnviada: Qua Set 16, 2015 4:26 pm    Assunto: Select Min, Max e AVG de um outro Select[ RESOLVIDO] Responder com Citação

Boa tarde tenho um seguinte Select:

select CLIENTE_ID,VENCIMENTO,RECEBIMENTO,datediff(DD, VENCIMENTO, RECEBIMENTO) as diferenca
from Receber Where DateDiff(DD, VENCIMENTO, RECEBIMENTO) > 1

Uso o Sql Server, e gostaria de obter o Menor valor do resultado do campo calculado DIFERENCA. E também o Maior(max) e a média(AVG) do resultado desse select. Alguém poderia me ajudar?


Editado pela última vez por tiagorogers1 em Qui Set 17, 2015 4:02 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Set 16, 2015 5:15 pm    Assunto: Responder com Citação

Boa tarde,

Experimente dessa forma:

Código:
with CTE_Dif as
(
    select datediff(DD, VENCIMENTO, RECEBIMENTO) as diferenca
    from Receber
    Where DateDiff(DD, VENCIMENTO, RECEBIMENTO) > 1
)

select min(Diferenca) as MinDiferenca, max(Diferenca) as MaxDiferenca, avg(Diferenca) as AvgDiferenca
from CTE_Dif


Espero que ajude.


Editado pela última vez por imex em Dom Out 01, 2023 5:29 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tiagorogers1
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 17 de Julho de 2015
Mensagens: 215
Localização: Recife

MensagemEnviada: Qua Set 16, 2015 5:32 pm    Assunto: Responder com Citação

Ajudou bastante Imex, tem como listar só os 10 resultados MIN e os 10 Max também ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Set 17, 2015 11:32 am    Assunto: Responder com Citação

Experimente dessa forma:

Código:
select top(10) CLIENTE_ID, VENCIMENTO, RECEBIMENTO, datediff(DD, VENCIMENTO, RECEBIMENTO) as diferenca
from Receber
Where DateDiff(DD, VENCIMENTO, RECEBIMENTO) > 1
order by diferenca


obs: para obter os 10 maiores acrescente Desc no Order By para ficar em ordem descendente

Espero que ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tiagorogers1
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 17 de Julho de 2015
Mensagens: 215
Localização: Recife

MensagemEnviada: Qui Set 17, 2015 1:45 pm    Assunto: Responder com Citação

REsolvido Imex, muito Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB