Zacznij terazZacznij za darmo

Próbkowanie w dół do ziarnistości tygodniowej

Kierownictwo chce sprawdzić, jak goście korzystali z centrum spa w 2020 roku. Potrzebuje wyników według tygodni – z uwzględnieniem łącznej liczby minut korzystania z udogodnień, liczby gości oraz najwyższego ID klienta w danym tygodniu, aby sprawdzić, czy pojawiali się nowi klienci.

Do próbkowania w dół do określonej ziarnistości możemy użyć funkcji dostępnych w SQL Server. Jedną z nich jest DATEPART().

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Wykonaj próbkowanie w dół danych o wizytach w centrum spa do ziarnistości tygodniowej, używając funkcji DATEPART().
  • Znajdź klienta z najwyższym ID klienta dla danego tygodnia.
  • Uzupełnij klauzulę GROUP BY o wszystkie wartości nieagregowane z klauzuli SELECT (bez aliasów, takich jak AS Week).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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;
Edytuj i uruchom kod