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
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;
|
|
|