Mysql中@变量用法
先看一个典型示例:
select (@i:=@i+1) as rownum, surname, personal_name from student, (select @i:=0) as init;
解析:
我们再回顾一下Sql语句执行顺序
<SELECT clause> [<FROM clause>] [<WHERE clause>] [<GROUP BY clause>] [<HAVING clause>] [<ORDER BY clause>] [<LIMIT clause>]
from>on>join>where>group by>having>select>distinct>order by>top
因此只要对编程稍微有所了解的人,应该不难看出上述@用法也是基本相同的,先声明赋值,再使用
select @i:=0
这里就是先声明@i这个变量,并且初始化值为0
@i:=@i+1
这里就是使用这个值,变量@i进行自增,等同于c里的i+=1