根据排名将表分为5000组

时间:2014-12-30 21:42:22

标签: sql sql-server

我的表格包含三列Customer_IDRankAge和25000条记录。

我希望基于avg(Age)列的5000个客户群进行Rank。因此,最终输出将有5行。

我想要输出

AvgAge  TileCount
-----------------
12           5000
24           5000
11           5000
14           5000
19           5000

1 个答案:

答案 0 :(得分:-1)

使用Window function创建群组

SELECT Avg(age) As AvgAge,
       '5000' As Tilecount
FROM  (SELECT ( ( Row_number()OVER(ORDER BY Rank ) - 1 ) / 5000 ) + 1 Group_Id,
              *
       FROM   tablename) a
GROUP  BY Group_Id