问题
Date OS TABLE: OSusage
2018-01-01 MacOS
2018-01-03 MacOS
2018-01-11 MacOS
2018-01-20 Windows
2018-01-21 Linux
2018-03-01 MacOS
2018-03-14 MacOS
2018-03-20 MacOS
2018-03-29 Windows
2018-05-10 MacOS
2017-10-10 MacOS
我想将上述数据总结为过去6个月的细分:
Month & of MacOS
May 100%
March 75% (3/4*100)
January 60% (3/5*100)
这是我的问题的简化版本,这就是我来的。
我做了多少尝试。
DATENAME是我如何设法获得几个月的细分,但即使尝试在子查询中再次使用它,我也在努力寻找一种计算MacOS数量的方法。
SELECT DATENAME(Month,OSusage.date)AS Months, OS
FROM OSusage
WHERE OSusage.Date >= DATEADD(MONTH, -6, GETDATE())
GROUP BY DATENAME(Month,OSusage.date)
着迷于解决方案&非常感谢任何帮助。 干杯
答案 0 :(得分:1)
我会用比例来做到这一点:
select year(o.date), datename(month, o.date),
avg(case when os = 'MacOS' then 100.0 else 0 end) as macos_ratio
from osuage o
group by year(o.date), datename(month, o.date)
order by min(o.date);
请注意,我包括了这一年。也许你不希望这一年爆发,但这在几个月的工作中是典型的。
答案 1 :(得分:1)
这应该有效
HttpResponseMessage