mysql 总积分排名
表名:dc_game_result
结构如下:
表数据如下:
要求:查找所有用户(user_name)的总积分(total_integral),对总积分进行排名.
sql语句如下:
SELECT (SELECT COUNT(C.USER_NAME) + 1 FROM (SELECT USER_NAME, SUM(TOTAL_INTEGRAL) TOTAL_INTEGRAL FROM DC_GAME_RESULT GROUP BY USER_NAME) C WHERE C.TOTAL_INTEGRAL > A.TOTAL_INTEGRAL) AS 名次, A.USER_NAME, A.TOTAL_INTEGRAL FROM (SELECT USER_NAME, SUM(TOTAL_INTEGRAL) TOTAL_INTEGRAL FROM DC_GAME_RESULT GROUP BY USER_NAME) A order by TOTAL_INTEGRAL desc;
查询结果: