|
@@ -4,14 +4,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="org.dromara.system.mapper.GameScoreMapper">
|
|
|
|
|
|
- <select id="listAppScoreByEventIdGroupProjectId">
|
|
|
+ <select id="listAppScoreByEventIdGroupProjectId" resultType="org.dromara.system.domain.GameScore">
|
|
|
SELECT *
|
|
|
- FROM (SELECT ROW_NUMBER() OVER (PARTITION BY project_id ORDER BY individual_performance DESC) AS rank_score, game_score.*
|
|
|
- FROM game_score
|
|
|
- WHERE event_id = #{eventId}
|
|
|
- ) ranked
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ @row_number := CASE
|
|
|
+ WHEN @project = project_id THEN @row_number + 1
|
|
|
+ ELSE 1
|
|
|
+ END AS rank_score,
|
|
|
+ @project := project_id,
|
|
|
+ gs.*
|
|
|
+ FROM game_score gs
|
|
|
+ CROSS JOIN (SELECT @row_number := 0, @project := 0) r
|
|
|
+ WHERE event_id = #{eventId}
|
|
|
+ ORDER BY project_id, score_point DESC
|
|
|
+ ) ranked
|
|
|
WHERE rank_score <= 3
|
|
|
- ORDER BY ranked.project_id, ranked.individual_performance DESC;
|
|
|
+ ORDER BY project_id, score_point DESC;
|
|
|
</select>
|
|
|
|
|
|
<select id="selectVoByAthleteIdAndProjectId" resultType="GameScoreVo">
|