多敘述 TVF
建立一個多敘述的資料表值函式,根據傳入的月份與年份參數,回傳每一天的行程次數與平均騎乘時間。
本練習屬於課程
在 SQL Server 中撰寫函式與預存程序
練習說明
- 建立函式
CountTripAvgDuration(),並回傳名為@DailyTripStats的資料表變數。 - 宣告輸入參數
@Month與@Year。 - 將查詢結果插入到資料表變數
@DailyTripStats中。 - 使用
CAST將StartDate轉為date資料型別,並依此進行選取與分組。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- 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