给SQL查询结果加序号
用SQL查询出结果后,想要在结果的每行前面加上序号怎么办?
这儿提供三种办法:
(例子中:
student为表名
stuid为student表中的字段
)
1、窗口函数:row_number()
-- 给查询后的结果加上序号
-- 方法一:row_number()
select row_number() over(order by a.stuid) `no`
,a.*
from
(select *
from student
) a
;2、窗口函数:rank()
-- 方法二:rank()
select rank() over(order by a.stuid) `no`
,a.*
from
(select *
from student
) a
;3:MySQL中不支持窗口函数时:
-- 方法三:MySQL中如果不支持窗口函数
select (@i:=@i+1) i
,a.*
from
(select *
from student
) a
,(@i:=0) i
;版权声明:本文为weixin_44390462原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。