マルチステートメント TVF
渡された月と年のパラメーターに対して、各日のトリップ数と平均乗車時間を返すマルチステートメントのテーブル値関数を作成してください。
この演習はコースの一部です
SQL Server における関数とストアドプロシージャの作成
演習の手順
- テーブル変数
@DailyTripStatsを返す関数CountTripAvgDuration()を作成します。 - 入力パラメーター
@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