Agg*_*gga 15 sql sql-server sql-server-2012
嗨,我有一个餐桌设施.每天持有一个分数(每天可以报告多个分数,两者都有效)
我需要按月计算得分的第90个百分点,标准差和平均值.
设施:
Id   Month Date  score
1    Jan     1    5
1    Jan     1    5
1    Jan     2    3
1    Jan     3    4
1    Jan     4    4
1    Jan     5    4
1    Feb     1    5
1    Feb     1    5
1    Feb     2    3
1    Feb     3    4
1    Feb     4    4
1    Feb     5    4
有什么办法吗?
谢谢你的帮助.
Cod*_*ent 33
您可以使用SQL Server 2012中引入的新的分析函数套件:
SELECT DISTINCT
            [Month],
            Mean   = AVG(Score) OVER (PARTITION BY [Month]),
            StdDev = STDEV(Score) OVER (PARTITION BY [Month]),
            P90    = PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY Score) OVER (PARTITION BY [Month])
FROM        my_table
有2个百分位函数:PERCENTILE_CONT用于连续分布和PERCENTILE_DISC离散分布.挑选一个适合您需求的产品.
| 归档时间: | 
 | 
| 查看次数: | 39118 次 | 
| 最近记录: |