Wieloinstrukcyjna TVF
Utwórz wieloinstrukcyjną funkcję zwracającą tabelę (multi statement TVF), która dla podanych parametrów miesiąca i roku zwraca liczbę przejazdów oraz średni czas trwania przejazdu dla każdego dnia.
To ćwiczenie jest częścią kursu
Funkcje i procedury składowane w SQL Server
Instrukcje do ćwiczenia
- Utwórz funkcję
CountTripAvgDuration(), która zwraca zmienną tabelaryczną o nazwie@DailyTripStats. - Zadeklaruj parametry wejściowe
@Monthi@Year. - Wstaw wyniki zapytania do zmiennej tabelarycznej
@DailyTripStats. - Użyj
CAST, aby wybrać kolumnęStartDatei pogrupować dane według niej jako typ danychdate.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- Create the function
CREATE FUNCTION ___ (___ CHAR(2), ___ CHAR(4))
-- Specify return variable
RETURNS ___ TABLE(
TripDate date,
TripCount int,
AvgDuration numeric)
AS
BEGIN
-- Insert query results into @DailyTripStats
___ ___
SELECT
-- Cast StartDate as a date
___(___ AS ___),
COUNT(ID),
AVG(Duration)
FROM CapitalBikeShare
WHERE
DATEPART(month, StartDate) = @Month AND
DATEPART(year, StartDate) = @Year
-- Group by StartDate as a date
GROUP BY ___(___ AS ___)
-- Return
___
END