有关志愿通的代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

57 lines
2.9 KiB

USE zhiyuantong;
SET NAMES utf8mb4;
-- 逐省核对六类2025业务数据量,以及来源缺失的关键值数量。
SELECT scopes.province_name,
COALESCE(plan_rows.record_count, 0) AS major_plan_count,
COALESCE(plan_rows.missing_value_count, 0) AS plan_count_missing,
COALESCE(group_rows.record_count, 0) AS group_count,
COALESCE(cutoff_rows.record_count, 0) AS cutoff_line_count,
COALESCE(cutoff_rows.missing_value_count, 0) AS cutoff_score_missing,
COALESCE(major_rows.record_count, 0) AS major_line_count,
COALESCE(major_rows.missing_value_count, 0) AS min_score_missing,
COALESCE(score_rows.record_count, 0) AS score_point_count,
COALESCE(control_rows.record_count, 0) AS control_line_count,
scopes.collection_status
FROM collection_scopes scopes
LEFT JOIN (
SELECT groups_.province_name, COUNT(*) record_count, SUM(plans.plan_count IS NULL) missing_value_count
FROM admission_major_plans plans
JOIN admission_groups groups_ ON groups_.admission_group_id=plans.admission_group_id
WHERE groups_.admission_year=2025 GROUP BY groups_.province_name
) plan_rows ON plan_rows.province_name=scopes.province_name
LEFT JOIN (
SELECT province_name, COUNT(*) record_count FROM admission_groups
WHERE admission_year=2025 GROUP BY province_name
) group_rows ON group_rows.province_name=scopes.province_name
LEFT JOIN (
SELECT province_name, COUNT(*) record_count, SUM(cutoff_score IS NULL) missing_value_count
FROM admission_cutoff_lines WHERE admission_year=2025 GROUP BY province_name
) cutoff_rows ON cutoff_rows.province_name=scopes.province_name
LEFT JOIN (
SELECT province_name, COUNT(*) record_count, SUM(min_score IS NULL) missing_value_count
FROM admission_major_lines WHERE admission_year=2025 GROUP BY province_name
) major_rows ON major_rows.province_name=scopes.province_name
LEFT JOIN (
SELECT province_name, COUNT(*) record_count FROM score_rank_points
WHERE admission_year=2025 GROUP BY province_name
) score_rows ON score_rows.province_name=scopes.province_name
LEFT JOIN (
SELECT province_name, COUNT(*) record_count FROM control_score_lines
WHERE admission_year=2025 GROUP BY province_name
) control_rows ON control_rows.province_name=scopes.province_name
WHERE scopes.admission_year=2025
ORDER BY scopes.province_name;
-- 所有GaokaoCompass来源文件都应留存哈希与本地路径。
SELECT COUNT(*) AS source_file_count,
SUM(sha256 IS NULL OR sha256='') AS missing_hash_count,
SUM(raw_file_path IS NULL OR raw_file_path='') AS missing_local_path_count
FROM data_sources
WHERE source_type='open_dataset_csv' AND publisher='GaokaoCompass';
-- 暂存表应在成功导入后归零。
SELECT (SELECT COUNT(*) FROM stg_gc_enrollment_plans)
+ (SELECT COUNT(*) FROM stg_gc_school_admissions)
+ (SELECT COUNT(*) FROM stg_gc_major_admissions)
+ (SELECT COUNT(*) FROM stg_gc_score_ranges) AS staging_row_count;