次のように 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
これを取り除く方法はありますか?