Comece agoraComece grátis

Totais acumulados com SUM()

Um dos usos mais poderosos das funções de janela é calcular totais acumulados: um acompanhamento contínuo de um determinado valor ao longo de um período. Aqui, queremos usar uma função de janela para calcular quantos incidentes ocorreram em cada data e tipo de incidente em julho de 2019, além de um acumulado do número total de incidentes por tipo de incidente. Uma função de janela vai ajudar você a resolver esse problema em uma única consulta.

Este exercicio faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercicio

  • Preencha com a função de janela correta.
  • Complete a cláusula PARTITION BY na função de janela, particionando pelo ID do tipo de incidente.
  • Complete a cláusula ORDER BY na função de janela, ordenando pela data do incidente (na ordem padrão, crescente).

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
	ir.NumberOfIncidents,
    -- Get the total number of incidents
	___(ir.NumberOfIncidents) OVER (
      	-- Do this for each incident type ID
		PARTITION BY ir.___
      	-- Sort by the incident date
		ORDER BY ir.___
	) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	c.CalendarYear = 2019
	AND c.CalendarMonth = 7
	AND ir.IncidentTypeID IN (1, 2)
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Editar e Executar Código