sql自定义函数传参去掉一个最高分一个最低分

CREATE FUNCTION CalculateAverage(@参数1 bigint,@参数2 bigint)
returns int — 设置返回值,记住是 returns 而不是 return
AS
BEGIN
DECLARE @result varchar(50)
DECLARE @Average int
SET @result = (select count (分数) from 数据库名
where 数据库字段1= @Project and 数据库字段2= @ProjectReview
GROUP BY 数据库字段1,数据库字段2    –若不加group by 会报错
IF @result < 3
BEGIN
SET @Average = (select round(AVG(分数),0) from 数据库名
where
数据库字段1= @Project and
数据库字段2= @ProjectReview
GROUP BY数据库字段1,数据库字段2)
END
ELSE
BEGIN
SET @Average = (select AVG(IEVScore) from 数据库名
where Pkey not in (
select top 1 Pkey from 数据库名order by 分数
union all
select top 1 Pkey from 数据库名order by 分数desc
) and 数据库字段1= @Project and 数据库字段2= @ProjectReview
GROUP BY 数据库字段1,数据库字段2)
END return @Average — 返回结果
END

发表评论

电子邮件地址不会被公开。 必填项已用*标注