美文网首页
SQL server-ROW_NUMBER()函数使用方法

SQL server-ROW_NUMBER()函数使用方法

作者: zxws1009 | 来源:发表于2020-08-31 23:51 被阅读0次

最近发现ROW_NUMBER()这个函数非常好用,用途较多,可以解决一些棘手的问题,既可满足分区的需求,也可以根据一定的顺序来排序。

语法:ROW_NUMBER() OVER(PARTITION BY col1 ORDER BY col2) 
解释:根据col1 分组,在分组内部根据 col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

常用场景:
1、 取每一个分组的前多少名
2、删除重复数据,仅保留rownumer<xxx

// 取每一个分组的前3名
delete from tb from 
  (select *, ROW_NUMBER() OVER (PARTITION BY  memberid order by [IsSuccess] desc) as RowNumber 
      from [MemberFaceIDDetectRecords] where CreatedDate > '2020.08.31'
) tb where RowNumber < 4

// 删除重读数据(RowNumber > 1)
delete from tb from 
  (select *, ROW_NUMBER() OVER (PARTITION BY  memberid order by [IsSuccess] desc) as RowNumber 
      from [MemberFaceIDDetectRecords] where CreatedDate > '2020.08.31'
) tb where RowNumber > 1

// 查询重读数据(RowNumber > 1)
select * from
  (select *, ROW_NUMBER() OVER (PARTITION BY  memberid order by [IsSuccess] desc) as RowNumber 
      from [MemberFaceIDDetectRecords] where CreatedDate > '2020.08.31'
) tb where RowNumber > 1

对比SQL GROUP BY函数

每天记录一点!加油

相关文章

  • SQL server-ROW_NUMBER()函数使用方法

    最近发现ROW_NUMBER()这个函数非常好用,用途较多,可以解决一些棘手的问题,既可满足分区的需求,也可以根据...

  • SQL Case when 的使用方法

    SQL Case when 的使用方法 Case具有两种格式:简单Case函数和Case搜索函数。 简单Case函...

  • MySQL之聚合函数group_concat()

    本文主要说明SQL中的聚合函数group_concat()的使用方法及实例。 1、group_concat(x, ...

  • SQL中IF函数使用方法

    发现问题: 在用到if函数的时候,qiu4_others总是没跑出数据来,代码如下: 找原因: 按照这个说明来看,...

  • SQL Date 函数

    SQL Date 函数 标签(空格分隔): SQL SQLServer SQL Date 函数 SQL 日期 当我...

  • 如何获取url中的参数

    一个函数助你跳转传参更简单 函数1: 使用方法 函数2: 使用方法

  • 每天一SQL语句(04):SQL 语句函数篇

    【开篇】SQL 语句函数篇 【1】SQL FUNCTIONS(函数) SQL 拥有很多可用于计数和计算的内建函数。...

  • Oracle_SQL函数-单行函数

    SQL函数 SQL函数分类 SQL函数主要有两种,分为单行函数、多行函数单行函数:只对一行进行变换,每行返回一个结...

  • 单行函数

    一、SQL函数概述 SQL函数分类 单行函数多行函数 单行函数语法 语法:函数名[(参数1,参数2,….)]注意:...

  • SQL内置函数使用手册

    SQL中有很多特别棒的内置函数。本文SQL内置函数手册中总结了SQL中常用的内置函数,包含通用聚合函数、安全检测函...

网友评论

      本文标题:SQL server-ROW_NUMBER()函数使用方法

      本文链接:https://www.haomeiwen.com/subject/pocmsktx.html