畅想!!

馨园

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


ROW_NUMBER() OVER函数的基本用法用法
 

说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY column1 DESC) 是先把column1 
列降序,再为降序以后的每条column1 记录返回一个序号。 

row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 

  表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的) 

 

用 row_number()  删除重复记录

   

delete from a
 from 
(select ROW_NUMBER() over 
            (
               partition by column1    --,重复列n 分组 
               order by column1    --,排序列
            ) [RowNumber]
      ,[column2]
      ,[column3]
      ,[column4]

from table1) a
where a.RowNumber > 1

 

 

 

 

 

 

 

 

posted on 2012-11-13 08:38  阿乐01  阅读(552)  评论(0编辑  收藏  举报