|
|
|
@ -185,13 +185,13 @@ ORDER BY
|
|
|
|
|
-- 学段应用分布
|
|
|
|
|
#sql("stageYingYingFenBu")
|
|
|
|
|
-- 小学
|
|
|
|
|
SELECT '小学' as stage_name, T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.node_type=1 AND T1.subject_id IN ('213','241','214','264','215','225','228','224') GROUP BY T2.subject_name
|
|
|
|
|
SELECT '小学' as stage_name, T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.node_type=1 AND T1.subject_id IN ('213','241','214','264','215','225','228','224') GROUP BY T2.subject_name
|
|
|
|
|
union all
|
|
|
|
|
-- 初中
|
|
|
|
|
SELECT '初中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND node_type=1 AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') GROUP BY T2.subject_name
|
|
|
|
|
SELECT '初中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND node_type=1 AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') GROUP BY T2.subject_name
|
|
|
|
|
union all
|
|
|
|
|
-- 高中
|
|
|
|
|
SELECT '高中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND node_type=1 AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') GROUP BY T2.subject_name
|
|
|
|
|
SELECT '高中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND node_type=1 AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') GROUP BY T2.subject_name
|
|
|
|
|
#end
|
|
|
|
|
-- 更新学段应用分布
|
|
|
|
|
#sql("updateStageYingYongFenBu")
|
|
|
|
@ -225,19 +225,19 @@ ORDER BY
|
|
|
|
|
-- 小学
|
|
|
|
|
SELECT '小学' as stage_name,T2.subject_name,count(*) as total_cnt,
|
|
|
|
|
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.subject_id IN ('213','241','214','264','215','225','228','224') AND parent_id='-1' GROUP BY T2.subject_name
|
|
|
|
|
union all
|
|
|
|
|
-- 初中
|
|
|
|
|
SELECT '初中',T2.subject_name,count(*) as total_cnt,
|
|
|
|
|
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') AND parent_id='-1' GROUP BY T2.subject_name
|
|
|
|
|
union all
|
|
|
|
|
-- 高中
|
|
|
|
|
SELECT '高中',T2.subject_name,count(*) as total_cnt,
|
|
|
|
|
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
|
|
|
|
|
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') AND parent_id='-1' GROUP BY T2.subject_name;
|
|
|
|
|
#end
|
|
|
|
|
-- 修改知识点覆盖率
|
|
|
|
|