0
以下のSQLは、それぞれのビルドのビルド時間を返しますが、今はビルドの平均ビルド時間を与えたいと思います。 BuildStartTime & BuildFinishTimeは、DateTimeフィールドです。CASEを使用し、次にCASTを使用してCAST値を使用して平均を実行します。
SELECT
Build_Quality.TeamProject,
DATEPART(year, BuildStartTime) AS Year,
DATENAME(month, BuildStartTime) AS Month,
--Get the Build Time
CASE When buildname LIKE 'CI-%' then CAST(BuildFinishTime-BuildStartTime AS time(0)) END AS [CI Build Time],
CASE When buildname LIKE '%AutoMerge%' then CAST(BuildFinishTime-BuildStartTime AS time(0)) END AS [Auto Merge Build Time],
CASE When buildname NOT LIKE '%AutoMerge%' AND buildname NOT LIKE 'CI-%' then CAST(BuildFinishTime-BuildStartTime AS time(0)) END AS [Various Other Build Time]
FROM
dbo.Build_Quality
GROUP BY
Build_Quality.TeamProject,
DATEPART(year, BuildStartTime),
DATENAME(month, BuildStartTime),
DATEPART(month, BuildStartTime),
BuildName,
BuildStartTime,
BuildFinishTime,
Build_Quality.BuildStatus
ORDER BY
'Year',
DATEPART(month, BuildStartTime)
このクエリは意味をなさない。この 'GROUP BY'節は何ですか?なぜそんなに多くの列? – sagi
テーブル構造と参照用のデータを共有してください。 –
なぜGROUP BYですか?私は集計関数を見ません。 – jarlh