Estou trabalhando com o SQL Server 2008 R2, tentando calcular uma média móvel. Para cada registro na minha opinião, gostaria de coletar os valores dos 250 registros anteriores e, em seguida, calcular a média para esta seleção. As minhas colunas de exibição são as seguintes: TransactionID é exclusivo. Para cada ID de transação. Gostaria de calcular a média do valor da coluna, em relação aos 250 registros anteriores. Então, para o TransactionID 300, colete todos os valores das 250 linhas anteriores (a exibição é ordenada, decrescente por TransactionID) e depois na coluna MovAvg escreva o resultado da média desses valores. Estou procurando coletar dados em uma variedade de registros. Perguntou 28 de outubro às 20: 58 Estou tentando ter uma coluna média em execução na instrução SELECT com base em uma coluna das n linhas anteriores na mesma instrução SELECT. A média que eu preciso é baseada nas n linhas anteriores no conjunto de resultados. As primeiras 3 linhas da coluna Média são nulas porque não existem linhas anteriores. A linha 4 na coluna Média mostra a média da coluna Número das 3 linhas anteriores. Preciso de ajuda tentando construir uma instrução SQL Select que fará isso. Uma simples auto-união parece funcionar muito melhor do que uma sub-busca de referência de linha. Gerar 10k linhas de dados de teste: Eu puxaria o caso especial das 3 primeiras linhas da consulta principal, você pode UNION TODOS aqueles de volta se você realmente quiser No conjunto de filas. Consulta de auto-união: na minha máquina, isso leva cerca de 10 segundos, a abordagem de subconsulta que Aaron Alton demonstrou demora cerca de 45 segundos (depois de mudá-la para refletir minha tabela de fonte de teste): Se você fizer um PERFIL DE ESTATÍSTICAS SET, você pode ver o A auto-união tem 10k executados no carretel da mesa. A subconsulta tem 10k executa no filtro, agregado e outras etapas.
Aviso de risco: a negociação de câmbio ou contratos de diferenças de margem comporta um alto nível de risco e pode não ser adequado para todos os investidores. Existe a possibilidade de você sofrer uma perda igual ou maior que o seu investimento inteiro. Portanto, você não deve investir ou arriscar dinheiro que não pode perder. Você deve garantir que você compreenda todos os riscos. Antes de usar os serviços da ServiceCom Ltd, reconheça os riscos associados à negociação. O conteúdo deste site não deve ser interpretado como um conselho pessoal. A ServiceCom Ltd. recomenda que você procure um conselho financeiro independente. Presença internacional: escolha qualquer banco que prefira 18.01.2017 Atualização para contas centrais: novo servidor e maior volume máximo para pedidos 23.12.2016 Desejo-lhe um feliz natal e um feliz ano novo 30.11.2016 Nova etapa no desenvolvimento da nossa empresa - Licença Europeia 28.11.2016 Programa de novos parceiros - Pro STP Markup 25.07.2016 Alterações da ...
Comments
Post a Comment