小编iSt*_*tan的帖子

选择按值均匀分布的分组数据

我想将表中的数据选择为 4 组,该表具有尽可能均匀分布的组中值的总和。我敢肯定我解释得不够清楚,所以我会尝试举一个例子。

这里我使用 NTILE(4) 创建 4 个组:

SELECT Time, NTILE(4) OVER (ORDER BY Time DESC) AS N FROM TableX

Time -  N
-------------
10  -   1
 9  -   2
 8  -   3
 7  -   4
 6  -   1
 5  -   2
 4  -   3
 3  -   4
 2  -   1
 1  -   2
Run Code Online (Sandbox Code Playgroud)

在上面的查询和结果中,为简洁起见,省略了其他列。

所以你也可以看到这些组如下:

  1    2    3    4
---  ---  ---  ---
 10    9    8    7
  6    5    4    3
  2    1    
---  ---  ---  ---
 18   15 …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2012

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

sql-server ×1

sql-server-2012 ×1

t-sql ×1