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

Даунсемплінг до тижневого рівня

Керівництво хоче побачити, наскільки активно відвідувачі користувалися спа у 2020 році. Їм потрібні підсумки за тижнями: загальна кількість хвилин використання зручностей, кількість відвідувачів і клієнт з найбільшим ідентифікатором клієнта за тиждень, щоб зрозуміти, чи з'являються нові клієнти.

У SQL Server можна виконати даунсемплінг до фіксованого рівня саме так. Одна з корисних функцій для цього — DATEPART().

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

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

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

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

  • Виконайте даунсемплінг даних про відвідування спа за днями до тижневого рівня за допомогою функції DATEPART().
  • Знайдіть клієнта з найбільшим ідентифікатором клієнта для заданого тижня.
  • Заповніть оператор GROUP BY усіма неагрегованими значеннями з оператора SELECT (але без псевдонімів на кшталт AS Week).

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

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

SELECT
	-- Downsample to a weekly grain
	___(___, dsv.CustomerVisitStart) AS Week,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	-- Find the customer with the largest customer ID for that week
	___(dsv.___) AS HighestCustomerID,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-01-01'
	AND dsv.CustomerVisitStart < '2021-01-01'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(___, dsv.CustomerVisitStart)
ORDER BY
	Week;
Редагувати та запускати код