Mysql中@变量⽤法
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+=1mysql group by order by