说明
- SQL Server 数据库函数 row_number() over (order by ……) 函数,使用MySQL替换。
- MySQL排序,并添加序列
两种实现
############### SQL Server 使用 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;
###################################################################
表结构及数据 :
运行结果 :