Java排行榜功能

实现java排行榜功能,最主要的使用到数据库的GROUP_CONCAT()函数。

主要涉及到mysql的几个函数:

  • group_concat() 用法,分组查询某一列的所有值,默认以逗号隔开,可以排序,用某个分隔符分隔, group_concat(name orderby id desc separator ‘/’)。

  • left(str,len) 返回具有指定长度len的字符串str的左边部分。

  • location(substr,str) 返回substr字符串在str字符串第一次出现的位置 。

  • concat(str,substr) 连接符,两个字符串相连接。

  • substring_index(str,’,’,len) 在字符串中以逗号或者其他符号为索引,获取不同索引位的字符。

  • 其中主要是group_concat()分组统计函数。

SELECT
	  created_user_id,
	  created_time,
	  SUBJECT,
	  MAX( score ) AS score,
	  SUBSTRING_INDEX(GROUP_CONCAT( use_time ORDER BY score DESC, use_time ASC ),',',1) AS use_time
     FROM
     	exam_record
     WHERE
     	`subject` = '1'
     	AND exam_status = 2
     	AND delete_flag = 0
     GROUP BY
     	created_user_id
     ORDER BY
     	score DESC,
	 use_time ASC
	 LIMIT 100

你可能感兴趣的:(工作)