2014-05-23 55 views
0

我需要在三个不同的组(30%,30%和40%)中划分查询结果。如果我使用NTILE(3)函数,结果被分成三个相等的组(33%,33%,33%)。 我该怎么办?TSQL:除以百分比结果

这是我的查询的模式:

;WITH TMP1 AS (
    SELECT 
     Column0, 
     ISNULL(SUM(Column1),0) AS Val 
    FROM MyTable 
    GROUP BY Column0 
), 
TMP2 AS (
SELECT NTILE (3) OVER (ORDER BY Column0 DESC) AS MyGroup, Val 
FROM TMP1 
) 
SELECT MyGroup, ISNULL(SUM(Val),0) as Val 
FROM TMP2 
GROUP BY MyGroup 
ORDER BY MyGroup 

非常感谢您

+0

使用NTILE(10) (1,2,3)30%,(4,5,6)30%,(7,8,9,10)40% – Horaciux

回答

1

使用ntile(10),并采取(1,2,3) 30%,(4,5,6) 30%,(7,8,9,10) 40%