MySQL5.7实现ROW_NUMBER窗口函数功能SQL

Posted 血海修罗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL5.7实现ROW_NUMBER窗口函数功能SQL相关的知识,希望对你有一定的参考价值。

1、原始数据:SELECT * FROM test_rownumber;

 

 

 

2、ROW_NUMBER功能实现SQL

SELECT * FROM
(
SELECT
-- 当变量@name等于字段值的时候,变量@rn加1,如果不相等赋值为 1
@rn := CASE WHEN @name = NAME THEN @rn + 1 ELSE 1 END AS rn ,
-- 把name字段值赋值于变量@name
@name:=name as name1 ,
num
FROM
( SELECT * FROM test_rownumber ORDER BY name,num DESC ) a,
-- 初始化一个变量值
(SELECT @rn = 0,@name=0) b
) c

 

 

 


 

以上是关于MySQL5.7实现ROW_NUMBER窗口函数功能SQL的主要内容,如果未能解决你的问题,请参考以下文章

MySQL实现常用分析函数

举一反三-Pandas实现Hive中的窗口函数

为啥将 ROW_NUMBER 定义为窗口函数?

使用 ROW_NUMBER() 窗口函数选择行

前 MariaDB 版本中的 Row_Number() 窗口函数

窗口函数 ROW_NUMBER