博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql排行榜并列与不并列
阅读量:4180 次
发布时间:2019-05-26

本文共 667 字,大约阅读时间需要 2 分钟。

分数表:

一、普通并列排行

SELECT	*, (		SELECT			count(DISTINCT score)		FROM			scores AS b		WHERE			a.score < b.score	) + 1 AS rankFROM	scores AS aORDER BY	`rank`

 

 

mysql 5.7

 

SELECT	Score,	dense_rank () over (ORDER BY Score DESC) 'Rank'FROM	score;

二、高级并列排行

SELECT	id,	score,	rankFROM	(		SELECT			id,			score,			@curRank :=		IF (			@prevRank = score,			@curRank,			@incRank		) AS rank,		@incRank := @incRank + 1,		@prevRank := score	FROM		scores p,		(			SELECT				@curRank := 0,				@prevRank := NULL,				@incRank := 1		) r	ORDER BY		score	) s

 

 

三、不并列排行

SELECT	id,	score ,@rank := @rank + 1 AS rankFROM	(		SELECT			*		FROM			scores		ORDER BY			score DESC	) AS obj,	(SELECT @rank := 0) r

 

 

转载地址:http://efgai.baihongyu.com/

你可能感兴趣的文章
ArrayBlockingQueue的简单使用
查看>>
Git 常用命令总结(一)
查看>>
Git 常用命令总结(二)
查看>>
JAVA 并发——synchronized的分析
查看>>
Echarts——使用 dataset 管理数据
查看>>
DES 加解密工具类
查看>>
SpringBoot多模块项目实践(Multi-Module)
查看>>
第一篇: 服务的注册与发现Eureka(Greenwich版)
查看>>
第二篇: 服务消费者(rest+ribbon)(Greenwich版本)
查看>>
第三篇: 服务消费者(Feign)(Greenwich版本)
查看>>
获取客户的真实IP地址
查看>>
第四篇: 熔断器(Ribbon+Feign)(Greenwich版本)
查看>>
Linux的常用命令(一)
查看>>
Linux的常用命令(二)
查看>>
第六篇: 分布式配置中心(Greenwich版本)
查看>>
SpringBoot | 配置logback-spring.xml
查看>>
SpringBoot | 第一章:构建第一个SpringBoot工程
查看>>
SpringBoot | 第二章:配置多环境以及上传文件
查看>>
Spring Data JPA |自定义非实体类的映射
查看>>
SpringBoot | 常用注解记录
查看>>