question random update
This commit is contained in:
parent
a5a6b40b5e
commit
1a3ecaf9e0
@ -234,23 +234,55 @@
|
||||
<select id="selectQuestionsByQuestionsNumber"
|
||||
resultMap="BaseResultMap">
|
||||
<foreach collection="eachList" item="each" separator="union">
|
||||
(select q.skill_id, q.industry_id, i.name as industry_name, s.name as skill_name
|
||||
, t.content ,q.difficult ,q.question_type from t_industry i
|
||||
join t_question q on i.id = q.industry_id
|
||||
join t_skill s on s.id = q.skill_id
|
||||
join t_text_content t on t.id = q.info_text_content_id
|
||||
<where>
|
||||
<if test="each.difficult != null">
|
||||
and q.difficult = #{each.difficult}
|
||||
</if>
|
||||
<if test="each.industryId != null">
|
||||
and i.id = #{each.industryId}
|
||||
</if>
|
||||
<if test="each.skillId != null">
|
||||
and s.id = #{each.skillId}
|
||||
</if>
|
||||
</where>
|
||||
limit #{each.eachNumber} )
|
||||
(SELECT
|
||||
q.skill_id,
|
||||
q.industry_id,
|
||||
i. NAME AS industry_name,
|
||||
s. NAME AS skill_name,
|
||||
t.content,
|
||||
q.difficult,
|
||||
q.question_type
|
||||
FROM
|
||||
t_question q
|
||||
JOIN (
|
||||
SELECT
|
||||
r1.id
|
||||
FROM
|
||||
t_question AS r1
|
||||
JOIN (
|
||||
SELECT
|
||||
(
|
||||
RAND() * (
|
||||
SELECT
|
||||
MAX(id)-#{each.eachNumber}
|
||||
FROM
|
||||
t_question
|
||||
)
|
||||
) AS row_id
|
||||
) AS r2
|
||||
JOIN t_industry i ON i.id = r1.industry_id
|
||||
JOIN t_skill s ON s.id = r1.skill_id
|
||||
JOIN t_text_content t ON t.id = r1.info_text_content_id
|
||||
<where>
|
||||
r1.deleted=0 AND
|
||||
r1.id >= r2.row_id
|
||||
<if test="each.difficult != null">
|
||||
and q.difficult = #{each.difficult}
|
||||
</if>
|
||||
<if test="each.industryId != null">
|
||||
and i.id = #{each.industryId}
|
||||
</if>
|
||||
<if test="each.skillId != null">
|
||||
and s.id = #{each.skillId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
r1.id ASC
|
||||
LIMIT #{each.eachNumber}
|
||||
) AS rows ON (rows.id = q.id)
|
||||
JOIN t_industry i ON i.id = q.industry_id
|
||||
JOIN t_skill s ON s.id = q.skill_id
|
||||
JOIN t_text_content t ON t.id = q.info_text_content_id)
|
||||
</foreach>
|
||||
|
||||
</select>
|
||||
|
44
xzs-new.sql
44
xzs-new.sql
@ -373,4 +373,46 @@ CREATE TABLE `t_user_token` (
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
(SELECT * FROM t_question WHERE skill_id = 1 LIMIT 2) UNION (SELECT * FROM t_question WHERE skill_id = 11 LIMIT 2) ;
|
||||
(SELECT * FROM t_question WHERE skill_id = 1 LIMIT 2) UNION (SELECT * FROM t_question WHERE skill_id = 11 LIMIT 2) ;
|
||||
|
||||
|
||||
SELECT
|
||||
q.skill_id,
|
||||
q.industry_id,
|
||||
i. NAME AS industry_name,
|
||||
s. NAME AS skill_name,
|
||||
t.content,
|
||||
q.difficult,
|
||||
q.question_type
|
||||
FROM
|
||||
t_question q
|
||||
JOIN (
|
||||
SELECT
|
||||
r1.id
|
||||
FROM
|
||||
t_question AS r1
|
||||
JOIN (
|
||||
SELECT
|
||||
(
|
||||
RAND() * (
|
||||
SELECT
|
||||
MAX(id)-7
|
||||
FROM
|
||||
t_question
|
||||
)
|
||||
) AS row_id
|
||||
) AS r2
|
||||
JOIN t_industry i ON i.id = r1.industry_id
|
||||
JOIN t_skill s ON s.id = r1.skill_id
|
||||
JOIN t_text_content t ON t.id = r1.info_text_content_id
|
||||
WHERE
|
||||
r1.deleted=0 AND
|
||||
r1.id >= r2.row_id
|
||||
AND r1.skill_id = 10
|
||||
ORDER BY
|
||||
r1.id ASC
|
||||
LIMIT 7
|
||||
) AS rows ON (rows.id = q.id)
|
||||
JOIN t_industry i ON i.id = q.industry_id
|
||||
JOIN t_skill s ON s.id = q.skill_id
|
||||
JOIN t_text_content t ON t.id = q.info_text_content_id;
|
Loading…
Reference in New Issue
Block a user