Mysql查询指定用户并列排名 类似rank函数

时间:2019-02-21 17:08:52   收藏:0   阅读:363
SELECT
	total.*
FROM
	(
		SELECT
			obj.uid,
			obj.score,
			CASE
		WHEN @rowtotal = obj.score THEN
			@rownum
		WHEN @rowtotal := obj.score THEN
			@rownum :=@rownum + 1
		WHEN @rowtotal = 0 THEN
			@rownum :=@rownum + 1
		END AS rownum
		FROM
			(
				SELECT
					uid,
					score
				FROM
					t
				ORDER BY
					score DESC
			) AS obj,
			(
				SELECT
					@rownum := 0 ,@rowtotal := NULL
			) r
	) AS total
WHERE
	total.uid = 222;

  

原文:https://www.cnblogs.com/liw66/p/10413563.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!