首页 > 数据库 >mysql排名,分组排名,行号

mysql排名,分组排名,行号

时间:2023-03-13 21:01:53浏览次数:44  
标签:rank 行号 score mysql 排名 prerk class select rk

基本知识:
  1.sql语句中,使用@来定义一个变量。如:@rank
  2.sql语句中,使用:=来给变量赋值,:@rank:=123,则变量rank的值为123
  3.sql语句中,if(A,B,C)表示,如果A条件成立,那么执行B,否则执行C,如:
  4.@rank:= if(2>1,100,200)的结果是,rank的值为100。

行号

set @rownum:= 0;
select @rownum:=@rownum+1 as rownum,a.* from user_copy a;

 

行号
select score, @rk := @rk+1 as rank
from user_copy fans,(select @rk:=0) a order by score desc;

 

按分数排名
select class,score ,
if(@prerk = score,@rk,@rk:=@rk+1) as rank ,@prerk:=score
from user_copy ,(select @rk:=0,@prerk:=NULL) a order by score desc;

 

按课程 分数 排名 取第二名
select id,name,class,score from (
  select id,name,class,score,
  IF(@p=class,if(@prerk = score,@r,@r:=@r+1),@r:=1) AS rank, @p:=class ,@prerk:=score
  from user_copy , (SELECT @p:=NULL,@prerk:=NULL,@r:=1) a order by class
) a where rank = 2 order by class;

标签:rank,行号,score,mysql,排名,prerk,class,select,rk
From: https://www.cnblogs.com/lqmblog/p/17212855.html

相关文章

  • MySQL
        ......
  • mysql
    一、计算机如何存储字符如何存储英文字符ASCII:对英文字母及其符号进行了编码,总共有128个Latin-1:对欧洲字符进行了编码,总共有256个,兼容ASCII如何存储中文字符GB......
  • Docker搭建MySQL集群
    采用MySQL架构PerconaXtraDBCluster1.安装PXC集群#用pull拉PXC5.7.20版本[root@localhost~]#dockerpullpercona/percona-xtradb-cluster:5.7.205.7.20:Pulli......
  • mark:通过实现从mysqldump全量导出中导出某个库的所有行
    环境python3 mysqldump_export_one_db.py#encoding=utf-8'''用于mysqldump--all-databases...全库导出数据后,需要从SQL文件中抽取某个库的信息生成新SQL文件,如果......
  • mysql查询所有表+表结构
    selecttable_nametableName,engine,table_commenttableComment,table_collationtableCollation,create_timecreateTimefrominformation_schem......
  • 14.mysql主从复制之从服务器宕机处理
    1.查看从库上mysql的错误日志,里面有记录主从挂掉时的binlog信息2.有了binlog和position信息后,只需要重新在从库上进行changemasterto配置即可,配置后开启slave状态,没有报......
  • 15.mysql优化建议一
    硬件优化:1.为提高数据库的IOPS性能,可以使用ssd或者pcie-ssd告诉磁盘设备2.当数据库系统tps过高或者业务量较高时,一定要配置阵列卡,阵列级别选择REID1+0,而不要选择其他格式......
  • 16.MySQL数据库之mysql-5.7 show engine innodb status 详解,常用的地方一、死锁分析 
     一、show engine innodb status 简介:show engine innodb status 是mysql提供的一个用于查看innodb引擎时间信息的工具,就目前来说有两处比较常用的地......
  • Mysql优化
    1,表设计一定要优化,冗余数据最少,少用连接查询。如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了。2,尽量用char而不是varchar,因为固定长度得str......
  • [转]mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregate
    原文地址:mysql问题解决SELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn-慕尘-博客园(cnblogs.com)今天在Ubuntu下的部署项目,发现一些好......