@i:=@i+1 表达式
生成伪列实现自增序列
语法:
select (@i:=@i+1) as ,t.* from table_name t,(select @i:=0) as j
(@i:=@i+1)代表定义一个变量,每次叠加 1;
(select @i:=0) as j 代表建立一个临时表,j是随便取的表名,但别名一定要的。
示例:表内容如图
sql 语句:
SELECT `name`,score,(@i:=@i+1) as 排名
FROM demo,(SELECT @i:=0) as demo1
ORDER BY score
DESC
结果展示: