我正在使用这样的 T-SQL NTILE 函数:
CREATE TABLE #Temp(val int)
GO
INSERT INTO #Temp(val) VALUES(1);
INSERT INTO #Temp(val) VALUES(2);
INSERT INTO #Temp(val) VALUES(3);
SELECT val, Quantile
FROM
(
SELECT val, NTILE(10) OVER (ORDER BY val) AS Quantile
FROM
#Temp
) A
GO
DROP TABLE #Temp
不幸的是结果:
val 分位数
1 1
2 2
3 3
不是我所期待的。当我的记录少于 10 条时,我希望从右到左而不是从左到右填充该行。这是有道理的,因为通常您喜欢以这种方式分发数据
这个问题在这里的社区插件中提到:http: //msdn.microsoft.com/en-us/library/ms175126.aspx
你知道如何摆脱这个吗?