sql语句

chestnut chestnut 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

规则:算15天 生产数据 的均值,
满足两层计算:
1、第1天到第5天的值中des为‘不合格’ 的剔除计算,算这5天的num的平均值value_5,若desc为‘不合格’> 2天 ,则value_5为null值;
第2天到第6条的值中des为‘不合格’ 的剔除计算,算这5天的num的平均值value_6,若desc为‘不合格’> 2天 ,则value_6为null值;
第3天到第7条的值中des为‘不合格’ 的剔除计算,算这5天的num的平均值value_7,若desc为‘不合格’> 2天 ,则value_7为null值;
第4天到第8条的值中des为‘不合格’ 的剔除计算,算这5天的num的平均值value_8,若desc为‘不合格’> 2天 ,则value_8为null值;
第5天到第9条的值中des为‘不合格’ 的剔除计算,算这5天的num的平均值value_9,若desc为‘不合格’> 2天 ,则value_9为null值;
... 一直算到value_15
2、取value_5到value_15 这11数值,如果null>4个,则返回null;其他返回这11个值的均值。
数据如下:
create table #tb(
id int identity(1,1),
Dates datetime,
num int,
des varchar(10)
)
go

insert into #tb(Dates,num,des)
select dateadd(day,-1*number,'2014-06-15'),number*100,case when number between 7 and 10 then '不合格' else '' end
from master.dbo.spt_values where type='P' and number between 0 and 14
go

求sql语句解决的方法,最后是不要使用到参数,直接是select 解决。
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
chestnut
应用实例 27,579 成员 68,540 内容