MySQL 替换 row_number() over (order by ……) 函数

MySQL排序,并添加序列

  • 说明
  • 两种实现

说明

 

  • SQL Server 数据库函数 row_number() over (order by ……) 函数,使用MySQL替换。
     
  • MySQL排序,并添加序列
     

两种实现

 

###############  row_number() over (order by ……) 函数实现 ###########

SELECT
	id,stu_name,
	subj,score,grade,
	row_number () OVER (ORDER BY grade DESC, score DESC) AS rowNum
FROM
	t_users;
 
############################ MySQL 实现 ############################
SELECT
	t.id,t.stu_name,
	t.subj,t.score,t.grade,
	@curRow := @curRow + 1 AS row_number
FROM
	t_users t
JOIN (SELECT @curRow := 0) r
ORDER BY
	grade DESC,
	score DESC;

###################################################################

 
表结构及数据 :

MySQL 替换 row_number() over (order by ……) 函数_第1张图片

 
运行结果 :
 
MySQL 替换 row_number() over (order by ……) 函数_第2张图片
MySQL 替换 row_number() over (order by ……) 函数_第3张图片
 

你可能感兴趣的:(MySQL)