MySQL如何添加排序后如何添加序号
SELECTa.*, @rank :=@rank+1 as noFROM(]SELECT *from `student_score_table`ORDER BY `score` desc)aLEFT JOIN (SELECT @rank :=0) bon 1 = 1
·
在hive和oracle等数据库中,我们有开窗函数row_number可以快速便捷的生成序号。但是在mysql中,似乎不那么容易实现。其实在MySQL中一样可以实现。
话不多说,先上代码!!!
SELECT
a.*, @rank :=@rank+1 as no
FROM( ]
SELECT *
from `student_score_table`
ORDER BY `score` desc
) a
LEFT JOIN (
SELECT @rank :=0
) b
on 1 = 1
首先,需要先定义一个变量rank,然后与排序好的数据表做关联,依次做自增就好。
这里简单介绍一下MySQL中变量的定义:
使用set或select直接赋值,变量名以 @开头
赋值符号:使用set 时可以用 “=“或者“:=” 但是使用select赋值时必须使用“:=”赋值
mysql总变量不用事先声明,在用的时候直接用@变量名 使用即可
更多推荐
已为社区贡献1条内容
所有评论(0)