ComeçarComece de graça

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 exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • 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).

Exercício interativo prático

Experimente este exercício 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 o código