我想将数据集拆分为多组N-TILES,但我不确定我当前的方法是否是最佳方法 所以基本上我想从这个
开始 col1 col2 col3
x1 3 5
x2 13 4
x3 3 5
x4 5 7
x5 1 8
x6 1 12
x7 5 11
x8 3 23
到
col1 col2 col3 nt1 nt2
x7 5 11 1 1
x4 5 7 1 1
x3 4 5 1 2
x2 13 4 1 2
x8 3 23 2 1
x6 1 12 2 1
x5 1 8 2 2
x1 3 5 2 2
我目前正在使用with子句
ntile(2) OVER (ORDER BY col2 DESC) nt1
然后分区
ntile(2) OVER (PARTITION BY nt1 ORDER BY col3 DESC) nt2
然而,对于很多行来说,这是相当慢的,所以我想知道是否有更高效或更优雅的方式来做这件事。