排序函数

  1. row_number() over(order by ##) , 根据##的排序从 1 开始,自动增一。
  2. rank() over(order by ##) , 根据##的排序从 1 开始,自动增一;但对相同##,则不增一,而是保持上一个相同##的序号。当下一个不同时,##的序号不是它上一个序号的递增,而是之前相同##的个数总和的递增。
  3. dense_rank() over(order by ##),与 rank() 在##相同时的情况一样,但不同的是:在下一个不同时,##的序号是它上一个序号的递增,属于紧密排序,它不是之前相同##的个数总和的递增。
  4. ntile(整数 i) over(order by ##),把结果集分为 i 组,每组序号相同,各组序号递增一。

 

over([partition by COL_NAME] order by ##),中的[partition by COL_NAME]是按##排序后,再对相同COL_NAME的行进行排序递增;无相同,序号则为1。

posted @ 2012-03-13 17:01  Yu  阅读(252)  评论(0编辑  收藏  举报