Mysql定义变量实现(按某个字段值)排名详解数据库

 1、eg:

SELECT u.rank
     FROM
     (  
        SELECT zc.fk_user_id,es.shop_type,(@ranknum:[email protected]+1) AS rank  
        FROM zsm_credit zc
        LEFT JOIN es_shop es  ON  zc.fk_user_id = es.user_id ,
        (SELECT (@ranknum :=0) ) b
        
        ORDER BY total DESC  
     )u
     WHERE u.fk_user_id=’1′ AND u.shop_type=1

2、mysql在sql中定义变量的方式

set @a = 1;set @a: = 1; select @num:=value;

3、利用变量赋值

set @name = '';
select @name:=password from user limit 0,1;[email protected]量。在执行后输出到查询结果集上面。

对用户变量赋值有两种方式,一种是直接用”=”号,另一种是用”:=”号。其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;当使用select语句对用户变量进行赋值时,只能使用”:=”方式,因为在select语句中,”=”号declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量。
    

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4494.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论