| | |
| | | keyword_id,order_id,keyword_name, |
| | | num,task_id,status |
| | | </sql> |
| | | <select id="statics" resultType="com.linghu.model.vo.KeywordStaticsVO"> |
| | | SELECT |
| | | p.platform_name, |
| | | SUM( r.repetition_num ) AS total_repetitions, |
| | | ROUND( |
| | | SUM( r.repetition_num ) * 100.0 / ( |
| | | SELECT |
| | | SUM( r2.repetition_num ) |
| | | FROM |
| | | reference r2 |
| | | WHERE |
| | | r2.keyword_id = #{keywordId} |
| | | <if test = "questionId != null" > |
| | | AND r2.question_id = #{questionId} |
| | | </if> |
| | | AND r2.num = #{num} |
| | | ),2) AS repetition_ratio |
| | | FROM |
| | | reference r |
| | | JOIN platform p ON r.platform_id = p.platform_id |
| | | WHERE |
| | | r.keyword_id = #{keywordId} |
| | | <if test = "questionId != null" > |
| | | AND r.question_id = #{questionId} |
| | | </if> |
| | | AND r.num = #{num} |
| | | |
| | | AND p.del_flag = 0 |
| | | GROUP BY |
| | | p.platform_id, |
| | | p.platform_name |
| | | ORDER BY |
| | | total_repetitions DESC |
| | | </select> |
| | | <select id="getResultByTypeId" resultType="com.linghu.model.vo.PlatformProportionVO"> |
| | | SELECT |
| | | t.type_name, |
| | | p.platform_name, |
| | | SUM(r.repetition_num) AS total_repetitions, |
| | | -- 全平台分布占比 = 当前平台重复次数 / 所有平台重复次数 |
| | | ROUND(SUM(r.repetition_num) * 100.0 / ( |
| | | SELECT SUM(r2.repetition_num) |
| | | FROM reference r2 |
| | | WHERE r2.keyword_id = #{keywordId} |
| | | <if test="questionId != null"> |
| | | AND r2.question_id = #{questionId} |
| | | </if> |
| | | AND r2.num = #{num} |
| | | ), 2) AS all_platform_ratio, |
| | | -- 同类平台分布占比 = 当前平台重复次数 / 同类型平台重复次数 |
| | | ROUND(SUM(r.repetition_num) * 100.0 / ( |
| | | SELECT SUM(r3.repetition_num) |
| | | FROM reference r3 |
| | | JOIN platform p3 ON r3.platform_id = p3.platform_id |
| | | WHERE r3.keyword_id = #{keywordId} |
| | | <if test="questionId != null"> |
| | | AND r3.question_id = #{questionId} |
| | | </if> |
| | | AND r3.num = #{num} |
| | | AND p3.type_id = p.type_id |
| | | ), 2) AS same_type_ratio |
| | | FROM |
| | | reference r |
| | | JOIN |
| | | platform p ON r.platform_id = p.platform_id |
| | | JOIN |
| | | type t ON p.type_id = t.type_id |
| | | WHERE |
| | | r.keyword_id = #{keywordId} |
| | | <if test="questionId != null"> |
| | | AND r.question_id = #{questionId} |
| | | </if> |
| | | AND r.num = #{num} |
| | | <if test="typeId != null"> |
| | | AND p.type_id = #{typeId} |
| | | </if> |
| | | AND p.del_flag = 0 |
| | | AND t.del_flag = 0 |
| | | GROUP BY |
| | | t.type_id, t.type_name, p.platform_id, p.platform_name |
| | | ORDER BY |
| | | t.type_name, total_repetitions DESC |
| | | </select> |
| | | <select id="getResultByPlatformId" resultType="com.linghu.model.vo.ResultListVO"> |
| | | SELECT |
| | | r.reference_id, |
| | | p.platform_name, |
| | | r.title, |
| | | r.repetition_num, |
| | | r.create_time, |
| | | r.url |
| | | FROM |
| | | reference r |
| | | JOIN |
| | | platform p ON r.platform_id = p.platform_id |
| | | WHERE |
| | | r.keyword_id = #{keywordId} |
| | | <if test="questionId != null"> |
| | | AND r.question_id = #{questionId} |
| | | </if> |
| | | AND r.num = #{num} |
| | | <if test="platformId != null"> |
| | | AND r.platform_id = #{platformId} |
| | | </if> |
| | | AND p.del_flag = 0 |
| | | ORDER BY |
| | | r.create_time DESC |
| | | </select> |
| | | </mapper> |