• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MySQL使用变量实现各种排序

    核心代码

    --下面我演示下MySQL中的排序列的实现
    --测试数据
    CREATE TABLE tb
    (
    score INT
    );
    INSERT tb SELECT 
    5 UNION ALL SELECT 
    4 UNION ALL SELECT 
    4 UNION ALL SELECT 
    4 UNION ALL SELECT 
    3 UNION ALL SELECT 
    2 UNION ALL SELECT
    1;
    --1.row_number式的排序
    SET @row_number =0;
    SELECT @row_number := @row_number+1 AS row_number,score 
    FROM tb 
    ORDER BY score DESC ;
    +------------+-------+
    | row_number | score |
    +------------+-------+
    |     1 |   5 |
    |     2 |   4 |
    |     3 |   4 |
    |     4 |   4 |
    |     5 |   3 |
    |     6 |   2 |
    |     7 |   1 |
    +------------+-------+
    --2.dense_rank式的排序
    SET @dense_rank = 0,@prev_score = NULL;
    SELECT @dense_rank :=IF(@prev_score=score,@dense_rank,@dense_rank+1) AS decnse_rank,
      @prev_score := score AS score 
    FROM tb 
    ORDER BY score DESC ; 
    +-------------+-------+
    | decnse_rank | score |
    +-------------+-------+
    |      1 |   5 |
    |      2 |   4 |
    |      2 |   4 |
    |      2 |   4 |
    |      3 |   3 |
    |      4 |   2 |
    |      5 |   1 |
    +-------------+-------+
    --3.rank式的排序
    SET @row=0,@rank=0,@prev_score=NULL;
    SELECT @row:=@row+1 AS ROW,
        @rank:=IF(@prev_score=score,@rank,@row) AS rank,
        @prev_score:=score AS score
    FROM tb 
    ORDER BY score DESC;
    +------+------+-------+
    | ROW | rank | score |
    +------+------+-------+
    |  1 |  1 |   5 |
    |  2 |  2 |   4 |
    |  3 |  2 |   4 |
    |  4 |  2 |   4 |
    |  5 |  5 |   3 |
    |  6 |  6 |   2 |
    |  7 |  7 |   1 |
    +------+------+-------+

    您可能感兴趣的文章:
    • win10下mysql 8.0.12 安装及环境变量配置教程
    • MySQL设置global变量和session变量的两种方法详解
    • mysql 5.6.23 安装配置环境变量教程
    • MySQL8新特性:持久化全局变量的修改方法
    • mysql查询语句中用户变量的使用代码解析
    • MySQL 声明变量及存储过程分析
    • 几个比较重要的MySQL变量
    • 浅谈MySQL存储过程中declare和set定义变量的区别
    • MySQL变量原理及应用实例
    上一篇:MySQL 消除重复行的一些方法
    下一篇:mysql 5.7.18 winx64安装配置方法图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MySQL使用变量实现各种排序 MySQL,使用,变量,实现,各种,