MySQL如何使用临时变量来排名?
《MySQL如何使用临时变量来排名?》要点: 最近公司由于做运动记录排行榜,然后总结出来如下3中排行方式
那么用数据库查询如何实现以上操作呢? 小编以MySQL 来实现上述操作.以学生表,按学生年龄这一条件对其操作 表 student 创建表布局 插入学生测试数据 主要思路: 对目标列排序 设置一个临时变量作为rank值,每次查询递增1 方案一: (值相同,排名分歧) SQL(年龄倒序,可以改成ORDER BY age DESC) 办法二:值相同,排名值持续递增 思路: (暂存上一条记录的age (@prevRank).如果当前age与其相等,使用与前一记录相同的排名;不然排名加一,并更新@prevRank) 后果图如下所示: 办法三:值相同,排名也相同; 排名值递增不连续(常见) 想法: (增加一个变量(@incRank)用于记录序号(类似方案一).如果当前age与上一条记录相同,使用与前一记录相同的排名(类似办法二),否则使用序号(@incRank)) 后果图: 《MySQL如何使用临时变量来排名?》是否对您有启发,欢迎查看更多与《MySQL如何使用临时变量来排名?》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |