1
私は3000レコードのテーブルを持っています。 私が実行している場合はselect * from TableName
SQL Serverデータベースの平均時間を計算するストアドプロシージャを作成する方法
出力:
TestSequence TestName ExecutionSequence ExecutionSeconds
1 xyz 1 1.63
1 xyz 2 1.56
1 xyz 3 1.55
1 xyz 4 1.55
1 xyz 5 1.66
15 abc 1 0.84
15 abc 2 0.84
15 abc 3 0.84
15 abc 4 0.84
15 abc 5 0.84
16 ttt 1 1.75
16 ttt 2 1.45
16 ttt 3 1.43
16 ttt 4 1.48
16 ttt 5 1.50
17 www 1 5.22
17 www 2 5.16
17 www 3 5.22
17 www 4 5.21
17 www 5 5.20
18 ccc 1 3.48
18 ccc 2 3.47
18 ccc 3 3.47
18 ccc 4 3.47
18 ccc 5 3.49
各テストは、列ExecutionSequenceによって表される5回を実行しますので、私が達成したいことは最大値と最小値を落としたり抜けてストアドプロシージャを作成することです各testNameのExecutionSecondsを計算し、残りの平均を計算します。3.このプロシージャを作成しようとしていますが、固まっています。ここで
は私のコードです:
USE [db1];
GO
CREATE PROCEDURE tests_CalculateAverageRunTime
(
@TestSenquence varchar(50) = NULL
)
AS
BEGIN
SET NOCOUNT ON
SELECT TestName, TestSequence, AVG(ExecutionSeconds) as AverageRunTime
FROM TableName
WHERE (@TestSenquence IS NULL OR TestSequence = @TestSenquence)
Group By TestName, TestSequence
SET NOCOUNT OFF
END
GO
ありがとう、これは私が必要なものです! – Immortal