使用SQL Server Express 2014.旁注:我的'p'按钮正在运行,如果我错过了一些,请原谅我。
要查找范围[a,b]
内的值百分比,我会使用查询:
SELECT 100.0*COUNT([value])/1.0*COUNT(*) FROM [table] WHERE [value] >= a AND [value] <= b
相反,如果我想找到范围内的值的百分比,从值首次达到该范围开始(不包括我们较低计数中的那些初始值),我该怎么做?
示例:
48, 10, 25, 31, 42, 26, 14, 28
范围[26,35]
前三个值超出范围(一个在上面,两个在下面),所以它们被扔掉了。新数据集是:
31, 42, 26, 14, 28
其余5个值中有3个在范围内,因此查询应返回60.0
。
答案 0 :(得分:0)
在伪代码中:
Var startingcounter = 0
Var inrange counter = 0
On input
if inrange then
startingcounter = + 1
if startingcounter > 0 then
if inrange then
inrangecounter = +1
On end input
return inrangecounter/startingcounter*100.0
这是否足以让你使用?