ПочатиПочніть безкоштовно

Наростальні підсумки з SUM()

Одна з найпотужніших можливостей віконних функцій — обчислення наростальних підсумків: безперервного накопичення певного значення за визначений період часу. Тут ми хочемо використати віконну функцію, щоб підрахувати, скільки інцидентів відбулося для кожної дати та типу інциденту у липні 2019 року, а також отримати наростальний підсумок загальної кількості інцидентів за типами інцидентів. Віконна функція дасть змогу розв'язати це завдання одним запитом.

Ця вправа є частиною курсу

Аналіз часових рядів у SQL Server

Переглянути курс

Інструкції до вправи

  • Вставте правильну віконну функцію.
  • Додайте секцію PARTITION BY у віконній функції, розбивши за ідентифікатором типу інциденту.
  • Додайте секцію ORDER BY у віконній функції, впорядкувавши за датою інциденту (у типовому, зростальному порядку).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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;
Редагувати та запускати код