码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • mysql查询排名


    在MySQL中,不存在类似于SQL Server或Orcal等中的rank()函数来得到排名;所以我们需要手动地写这个rank功能。

    基本知识:

    1. sql语句中,使用@来定义一个变量。如:@rank
    2. sql语句中,使用:=来给变量赋值,:@rank:=123,则变量rank的值为123
    3. sql语句中,if(A,B,C)表示,如果A条件成立,那么执行B,否则执行C,如:
      @rank:= if(2>1,100,200)的结果是,rank的值为100。
    4. ◎case...when...then语句
      case...when...then语句有两种情况:
      case情况一(CASE 后面不带表达式)

     一、如果分数相同时,排名不需要并列,排名需要加1时,采用如下写法:

    1. select score, @rk := @rk+1 as rank
    2. from cmyx_wxa_fans fans,(select @rk:=0) a
    3. -- where score >0
    4. order by score desc

    查询结果如下: score降序排列(score相同时,排名继续增加),示例:

     注:这里的(SELECT @rk:= 0)  a  的作用是:在同一个select语句中给变量@rk赋初始值。效果等同于,两个sql语句,第一个先赋值,第二个再select如下:

    二、如果分数相同时,排名并列的话,采用如下写法:

    1. select score ,
    2. if(@prerk = score,@rk,@rk:=@rk+1) as rank ,
    3. @prerk:=score
    4. from cmyx_wxa_fans fans,(select @rk:=0,@prerk:=NULL) a
    5. -- where score >0
    6. order by score desc

     参考博文:mysql 查询获取排名的方法_bang152101的博客-CSDN博客_mysql查询排名名次

  • 相关阅读:
    java毕业设计乒乓球俱乐部管理源码+lw文档+mybatis+系统+mysql数据库+调试
    Badger简单使用
    BrokerChain——基于“做市商账户”的区块链跨分片协议
    Docker 搭建 Minio 容器 (完整详细版)
    设置weblogic的jvm大小三个方法
    ESP-IDF的vscode环境编译时出现“fatal error: nvs.h: No such file or directory”的解决方法
    unity中实现3D物体在UI前方
    以沙箱的方式运行容器:安全容器gvisor
    深度学习框架【MxNet】的安装
    【LLM】大语言模型高效微调方案Lora||直击底层逻辑
  • 原文地址:https://blog.csdn.net/lovebosom/article/details/126500434
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号