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
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 BYo wszystkie wartości nieagregowane z klauzuliSELECT(bez aliasów, takich jakAS 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;