sql根据某一个字段重复只取第一条数据

Posted 達達尼亞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql根据某一个字段重复只取第一条数据相关的知识,希望对你有一定的参考价值。

比如上图,取3,4行记录的第一行也就是3行,而不返回4行。

使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用,比如使用下面的方式。

select s.*  
from ( 
    select *, row_number() over (partition by [手机号] order by [店铺]) as group_idx  
    from table_name
) s
where s.group_idx = 1

 

以上是关于sql根据某一个字段重复只取第一条数据的主要内容,如果未能解决你的问题,请参考以下文章

sql按字段分组,并且找出每组的第一条数据

oracle 取重复数据中一条

oracle 查询数据只要排序后的第一条记录(不用rownum=1),sql语句怎么写

oracle 查询数据只要排序后的第一条记录(不用rownum=1),sql语句怎么写

SQL 查询一表所有数据 有重复的按时间取第一条

oracle groupby取第一条