阅读背景:

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

来源:互联网 
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;
SELECT
	total.*
FROM
	(
		SELECT
			obj.uid



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: