mysql 用户定义变量 @ 用法 笔记

备注:工作中遇到的问题解决后做个记录

--------------------排名的动作是最后执行的 ----------------------------------------------------

– select a.s_id,a.s_score,a.c_id,@i:=@i+1 as 排名 from Score a,(select @i:=0)s where a.c_id=‘01’ #
– ORDER BY a.s_score DESC;

– select a.s_id,a.s_score,a.c_id,@i:=@i+1 as 排名 from (select * from Score where c_id=‘01’ order by s_score DESC)a,
– (select @i:=0)s;

– 上面两种结果是一样的,都是先按照 s_score 降序排列之后 再进行标记,所以@用户定义变量的作用是在其他所有sql语句执行完之后再执行的 –

– select a.s_id,a.s_score,a.c_id from Score a,(select @i:=0)s where a.c_id=‘01’ #
– ORDER BY a.s_score DESC;

#上面两个动作是一样的,只是后面多了一个排名的操作 –

– select a.s_id,a.s_score,a.c_id,@i:=@i+1 as 排名 from Score a,(select @i:=0)s where a.c_id=‘01’; # 这个只是单纯的排名,并且 排名是在最后列出的 ----

#所有的排名操作都是在系统先执行完后再进行的 ----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值