Heim > Backend-Entwicklung > PHP-Tutorial > mysql依据答题得分和用时计算求某一个用户排名的sql语句

mysql依据答题得分和用时计算求某一个用户排名的sql语句

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-13 11:48:18
Original
1770 Leute haben es durchsucht

mysql根据答题得分和用时计算求某一个用户排名的sql语句
    我现在有这样一张表,我要根据 活动id、最大得分、最小时间,求出当前用户的排名。

  比如:
      用户id=6 的用户,我要查找出他在 活动id=2中 根据总得分(如果总得分相同,那么根据总时间小的计算) 的排名     rank=2;
      用户id=1 的用户,我要查找出他在 活动id=1中 根据总得分(如果总得分相同,那么根据总时间小的计算) 的排名     rank=3.

直接一条sql取出排名。

这是我的sql:
    SELECT count(*) rank FROM 表名 where score>=(select score from 表名 as b where 用户id=1) AND times
但是当两个用户分数相同的时候,就会彻底的乱了。rank就会乱了,这是咋回事?求大神指导,本人是新手!





    


------解决方案--------------------
SELECT FIND_IN_SET(用户id,GROUP_CONCAT( CAST( id AS CHAR ))) 
FROM (

SELECT * 
FROM  `rank` 
WHERE 活动id =1
ORDER BY score DESC , TIME ASC
) newrank

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage