`
lin213_213
  • 浏览: 76456 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

row_number() over(partition by name order by id)

阅读更多

一个表中,主键不同,其实字段相同,现在实现只取一个记录的方法:

 

select * from (
    select t.*,row_number() over(partition by name order by id) rn
from t t
)

where rn=1

 

row_number() OVER (PARTITION BY name ORDER BY id) rn 表示根据name分组,在分组内部根据 id排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).

 

  • 大小: 1.5 KB
分享到:
评论

相关推荐

    SQL中的ROW NUMBER() OVER()

    原始数据展示 一:SQL展示 select id,name,age,salary,row_number()over(order by ...select id,name,age,salary,row_number()over(partition by id order by salary desc) rkfrom TEST_ROW_NUMBER_OVER tSQL语句后

    sqlserver2005使用row_number() over分页的实现方法

    语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) <BR> 例子: 代码如下: select * from ( select *, ROW_NUMBER() OVER(Order by a.CreateTime DESC ) AS RowNumber from table_name as a ) as b ...

    over函数的使用

    Select * from (select name,class,s,rank() over(partition by class order by s desc) mm from t2) where mm=1; 说明: 1.在求第一名成绩的时候,不能用row_number(),因为如果同班有2个并列第1,row_number()只...

    SQL Server 总结复习 (二)

    1. 排名函数与PARTITION BY 代码如下: –所有...生成列从1开始依次增加 ——————————————- SELECT ROW_NUMBER() OVER (ORDER BY B.SCORE DESC) AS ROWNUMBER ,A.NAME, B.SCORE, a.Id FROM dbo.student AS

    oracle排名函数的使用方法分享

    在oracle中,有rank,dense_rank,row_number,以及分组排名partition。 说明: rank:排名会出现并列第n名,它...row_number() over(partition by bb.channel_name order by sum(aa.dk_serv_num) desc nulls last) p1_ra

    SQL开窗函数介绍以及示例

    window_function() OVER (PARTITION BY column_partition ORDER BY column_ordering) FROM table_name; 常用的开窗函数包括: ROW_NUMBER(): 为每一行分配一个唯一的数字序号。 RANK(): 计算每一行在结果集中的排名...

    T-SQL高级查询

    select s.id, s.name, cid, c.name, row_number() over(partition by c.name order by s.id) as rank from student s, classes c where cid = c.id; select s.id, s.name, cid, c.name, rank() over(partition by...

    Oracle事例

    SQL>select index_name,index_type,table_name from user_indexes order by table_name; 、查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper(\'&index_name\'); 11、创建序列 ...

    随机抽取的sql语句 每班任意抽取3名学生

    学校有一、二、三。。。。至十班。 假设每个班上有30名学生。张、李、刘、苏等 ...from (select (row_number() over (partition by class order by checksum(newid()))) id,* from student ) a where id<=3

    Oracle表中重复数据去重的方法实例详解

    Oracle表中重复数据去重的方法实例详解 我们在项目中肯定会遇到一种情况,就是表中没有主键 有重复数据 或者有主键 但是部分字段有... row_number() over(partition by s.name order by s.id) as nu from mytest s) aa

Global site tag (gtag.js) - Google Analytics