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.
429 lines
21 KiB
429 lines
21 KiB
USE zhiyuantong;
|
|
SET NAMES utf8mb4;
|
|
|
|
SET @review_run_id = UUID();
|
|
SET @reviewer = 'system:safe-batch-review-2025-v1';
|
|
SET @rule_version = 'safe-batch-review-2025-v1';
|
|
SET @review_scope = 'all-current-records';
|
|
|
|
INSERT INTO automated_review_runs (
|
|
review_run_id, rule_version, reviewer_name, review_scope, run_status, notes
|
|
) VALUES (
|
|
@review_run_id, @rule_version, @reviewer, @review_scope, 'running',
|
|
'开放数据集记录保持needs_review;只有来源非open_dataset_csv且关键结构规则通过的业务记录自动approved。来源档案本身只审核可追溯性。'
|
|
)
|
|
ON DUPLICATE KEY UPDATE
|
|
review_run_id=review_run_id;
|
|
|
|
SELECT review_run_id INTO @effective_run_id
|
|
FROM automated_review_runs
|
|
WHERE rule_version=@rule_version AND review_scope=@review_scope;
|
|
|
|
START TRANSACTION;
|
|
|
|
-- 来源档案审核的是“来源记录是否可追溯”,不代表来源内容已经通过官方复核。
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'data_source', CAST(source.source_id AS CHAR),
|
|
CASE WHEN source.publisher<>'' AND source.title<>''
|
|
AND CHAR_LENGTH(source.sha256)=64
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.publisher<>'' AND source.title<>''
|
|
AND CHAR_LENGTH(source.sha256)=64
|
|
THEN '自动审核通过:来源身份、标题和SHA-256记录完整;不代表来源中的业务数据已完成官方复核。'
|
|
ELSE '自动审核未通过:来源身份或SHA-256记录不完整。' END,
|
|
NOW()
|
|
FROM data_sources source
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='data_source'
|
|
AND existing.entity_key=CAST(source.source_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'school', school.school_id,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND school.official_name<>'' AND school.province_name<>''
|
|
AND school.city_name<>'' AND school.education_level<>''
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN school.official_name='' OR school.province_name=''
|
|
OR school.city_name='' OR school.education_level=''
|
|
THEN '自动审核未通过:院校关键字段不完整。'
|
|
ELSE '自动审核通过:来源可追溯且院校关键字段完整。' END,
|
|
NOW()
|
|
FROM schools school
|
|
JOIN data_sources source ON source.source_id=school.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='school' AND existing.entity_key=school.school_id
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'admission_batch', CAST(base.admission_batch_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.province_name<>'' AND base.batch_name<>''
|
|
AND base.admission_category<>'' AND base.education_level<>''
|
|
AND base.volunteer_mode<>''
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN base.province_name='' OR base.batch_name=''
|
|
OR base.admission_category='' OR base.education_level=''
|
|
OR base.volunteer_mode=''
|
|
THEN '自动审核未通过:招生批次关键字段不完整。'
|
|
ELSE '自动审核通过:来源可追溯且招生批次关键字段完整。' END,
|
|
NOW()
|
|
FROM admission_batches base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='admission_batch'
|
|
AND existing.entity_key=CAST(base.admission_batch_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'plan_release', CAST(base.plan_release_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.province_name<>'' AND base.release_title<>''
|
|
AND base.plan_round<>'' AND base.coverage_scope<>''
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN base.province_name='' OR base.release_title=''
|
|
OR base.plan_round='' OR base.coverage_scope=''
|
|
THEN '自动审核未通过:计划发布批次关键字段不完整。'
|
|
ELSE '自动审核通过:来源可追溯且计划发布批次关键字段完整。' END,
|
|
NOW()
|
|
FROM admission_plan_releases base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='plan_release'
|
|
AND existing.entity_key=CAST(base.plan_release_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'admission_group', CAST(base.admission_group_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND base.subject_category<>'' AND base.batch_name<>''
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND base.subject_category<>'' AND base.batch_name<>''
|
|
THEN '自动审核通过:来源可追溯、院校已匹配且院校专业组关键字段完整。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN base.school_id IS NULL THEN '自动审核未通过:未匹配全国院校稳定ID。'
|
|
ELSE '自动审核未通过:院校专业组关键字段不完整。' END,
|
|
NOW()
|
|
FROM admission_groups base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='admission_group'
|
|
AND existing.entity_key=CAST(base.admission_group_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'major_plan', CAST(base.major_plan_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND scope.school_id IS NOT NULL AND base.major_name<>''
|
|
AND base.plan_count IS NOT NULL AND base.plan_count>0
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND scope.school_id IS NOT NULL AND base.major_name<>''
|
|
AND base.plan_count IS NOT NULL AND base.plan_count>0
|
|
THEN '自动审核通过:来源可追溯、院校已匹配且招生计划人数有效。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN scope.school_id IS NULL THEN '自动审核未通过:未匹配全国院校稳定ID。'
|
|
WHEN base.plan_count IS NULL OR base.plan_count=0
|
|
THEN '自动审核未通过:招生计划人数缺失或为0。'
|
|
ELSE '自动审核未通过:专业计划关键字段不完整。' END,
|
|
NOW()
|
|
FROM admission_major_plans base
|
|
JOIN admission_groups scope ON scope.admission_group_id=base.admission_group_id
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='major_plan'
|
|
AND existing.entity_key=CAST(base.major_plan_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'major_admission', CAST(base.major_line_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND base.major_name<>''
|
|
AND (base.min_score IS NOT NULL OR base.min_rank IS NOT NULL)
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND base.major_name<>''
|
|
AND (base.min_score IS NOT NULL OR base.min_rank IS NOT NULL)
|
|
THEN '自动审核通过:来源可追溯、院校已匹配且专业录取关键字段有效。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN base.school_id IS NULL THEN '自动审核未通过:未匹配全国院校稳定ID。'
|
|
ELSE '自动审核未通过:专业录取关键字段不完整。' END,
|
|
NOW()
|
|
FROM admission_major_lines base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='major_admission'
|
|
AND existing.entity_key=CAST(base.major_line_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'score_rank', CAST(base.score_rank_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.score>=0 AND base.rank_from>=1
|
|
AND base.rank_to>=base.rank_from
|
|
AND base.cumulative_count>=base.rank_to
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.score>=0 AND base.rank_from>=1
|
|
AND base.rank_to>=base.rank_from
|
|
AND base.cumulative_count>=base.rank_to
|
|
THEN '自动审核通过:来源可追溯且一分一段结构规则有效。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
ELSE '自动审核未通过:一分一段位次区间或累计人数不满足结构规则。' END,
|
|
NOW()
|
|
FROM score_rank_points base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='score_rank'
|
|
AND existing.entity_key=CAST(base.score_rank_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'control_line', CAST(base.control_line_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.culture_score>=0 AND base.subject_category<>''
|
|
AND base.education_level<>''
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.culture_score>=0 AND base.subject_category<>''
|
|
AND base.education_level<>''
|
|
THEN '自动审核通过:来源可追溯且省级控制线关键字段有效。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
ELSE '自动审核未通过:省级控制线关键字段不完整或分数无效。' END,
|
|
NOW()
|
|
FROM control_score_lines base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='control_line'
|
|
AND existing.entity_key=CAST(base.control_line_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'cutoff_line', CAST(base.cutoff_line_id AS CHAR),
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND (base.cutoff_score IS NOT NULL OR base.cutoff_rank IS NOT NULL)
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN source.source_type<>'open_dataset_csv'
|
|
AND base.school_id IS NOT NULL AND base.school_name_raw<>''
|
|
AND (base.cutoff_score IS NOT NULL OR base.cutoff_rank IS NOT NULL)
|
|
THEN '自动审核通过:来源可追溯、院校已匹配且投档线关键字段有效。'
|
|
WHEN source.source_type='open_dataset_csv'
|
|
THEN '自动审核未通过:开放数据集来源尚未完成官方复核。'
|
|
WHEN base.school_id IS NULL THEN '自动审核未通过:未匹配全国院校稳定ID。'
|
|
ELSE '自动审核未通过:投档线关键字段不完整。' END,
|
|
NOW()
|
|
FROM admission_cutoff_lines base
|
|
JOIN data_sources source ON source.source_id=base.source_id
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='cutoff_line'
|
|
AND existing.entity_key=CAST(base.cutoff_line_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
INSERT INTO review_records (
|
|
entity_type, entity_key, review_status, reviewer_name, review_note, reviewed_at
|
|
)
|
|
SELECT 'dataset_coverage', CAST(base.coverage_id AS CHAR),
|
|
CASE WHEN base.coverage_status IN (
|
|
'complete_public_snapshot', 'partial_public_snapshot', 'unavailable_publicly'
|
|
)
|
|
AND NOT (base.coverage_status='unavailable_publicly' AND base.record_count<>0)
|
|
AND NOT (base.coverage_status<>'complete_public_snapshot'
|
|
AND (base.notes IS NULL OR base.notes=''))
|
|
THEN 'approved' ELSE 'needs_review' END,
|
|
@reviewer,
|
|
CASE WHEN base.coverage_status IN (
|
|
'complete_public_snapshot', 'partial_public_snapshot', 'unavailable_publicly'
|
|
)
|
|
AND NOT (base.coverage_status='unavailable_publicly' AND base.record_count<>0)
|
|
AND NOT (base.coverage_status<>'complete_public_snapshot'
|
|
AND (base.notes IS NULL OR base.notes=''))
|
|
THEN '自动审核通过:覆盖状态、记录数和缺口说明满足规则。'
|
|
ELSE '自动审核未通过:覆盖状态、记录数或缺口说明不一致。' END,
|
|
NOW()
|
|
FROM dataset_coverage base
|
|
LEFT JOIN review_records existing
|
|
ON existing.entity_type='dataset_coverage'
|
|
AND existing.entity_key=CAST(base.coverage_id AS CHAR)
|
|
WHERE existing.review_id IS NULL;
|
|
|
|
-- 开放数据源以“来源级问题”记录一次,避免为其数百万下游记录重复写相同问题。
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'data_source', CAST(source.source_id AS CHAR),
|
|
'SOURCE_REQUIRES_OFFICIAL_VERIFICATION', 'error', 'source_type',
|
|
CONCAT('开放数据集来源尚未完成省级考试院官方复核:', source.title),
|
|
SHA2(CONCAT('data_source|', source.source_id,
|
|
'|SOURCE_REQUIRES_OFFICIAL_VERIFICATION'), 256),
|
|
'open'
|
|
FROM data_sources source
|
|
WHERE source.source_type='open_dataset_csv'
|
|
ON DUPLICATE KEY UPDATE
|
|
issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'score_rank', CAST(base.score_rank_id AS CHAR),
|
|
'INVALID_RANK_INTERVAL', 'error', 'rank_from,rank_to,cumulative_count',
|
|
'一分一段位次区间或累计人数不满足单调结构规则',
|
|
SHA2(CONCAT('score_rank|', base.score_rank_id, '|INVALID_RANK_INTERVAL'), 256),
|
|
'open'
|
|
FROM score_rank_points base
|
|
WHERE base.score<0 OR base.rank_from<1 OR base.rank_to<base.rank_from
|
|
OR base.cumulative_count<base.rank_to
|
|
ON DUPLICATE KEY UPDATE issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'major_plan', CAST(base.major_plan_id AS CHAR),
|
|
'MISSING_OR_ZERO_PLAN_COUNT', 'error', 'plan_count',
|
|
'招生计划人数缺失或为0,不能用于计划数统计',
|
|
SHA2(CONCAT('major_plan|', base.major_plan_id, '|MISSING_OR_ZERO_PLAN_COUNT'), 256),
|
|
'open'
|
|
FROM admission_major_plans base
|
|
WHERE base.plan_count IS NULL OR base.plan_count=0
|
|
ON DUPLICATE KEY UPDATE issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'admission_group', CAST(base.admission_group_id AS CHAR),
|
|
'INVALID_GROUP_KEY_FIELDS', 'error', '',
|
|
'院校专业组未匹配院校或关键维度缺失',
|
|
SHA2(CONCAT('admission_group|', base.admission_group_id,
|
|
'|INVALID_GROUP_KEY_FIELDS'), 256),
|
|
'open'
|
|
FROM admission_groups base
|
|
WHERE base.school_id IS NULL OR base.school_name_raw=''
|
|
OR base.subject_category='' OR base.batch_name=''
|
|
ON DUPLICATE KEY UPDATE issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'major_admission', CAST(base.major_line_id AS CHAR),
|
|
'INVALID_MAJOR_ADMISSION_KEY_FIELDS', 'error', '',
|
|
'专业录取线未匹配院校或分数、位次等关键字段缺失',
|
|
SHA2(CONCAT('major_admission|', base.major_line_id,
|
|
'|INVALID_MAJOR_ADMISSION_KEY_FIELDS'), 256),
|
|
'open'
|
|
FROM admission_major_lines base
|
|
WHERE base.school_id IS NULL OR base.school_name_raw='' OR base.major_name=''
|
|
OR (base.min_score IS NULL AND base.min_rank IS NULL)
|
|
ON DUPLICATE KEY UPDATE issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
INSERT INTO data_quality_issues (
|
|
entity_type, entity_key, issue_code, severity, field_name,
|
|
issue_message, issue_fingerprint, resolution_status
|
|
)
|
|
SELECT 'cutoff_line', CAST(base.cutoff_line_id AS CHAR),
|
|
'INVALID_CUTOFF_KEY_FIELDS', 'error', '',
|
|
'投档线未匹配院校或最低分、最低位次均缺失',
|
|
SHA2(CONCAT('cutoff_line|', base.cutoff_line_id,
|
|
'|INVALID_CUTOFF_KEY_FIELDS'), 256),
|
|
'open'
|
|
FROM admission_cutoff_lines base
|
|
WHERE base.school_id IS NULL OR base.school_name_raw=''
|
|
OR (base.cutoff_score IS NULL AND base.cutoff_rank IS NULL)
|
|
ON DUPLICATE KEY UPDATE issue_message=VALUES(issue_message), resolution_status='open';
|
|
|
|
-- 为本批新创建的审核结果写入不可覆盖审计日志;重复运行不会重复追加。
|
|
INSERT INTO review_audit_logs (
|
|
review_id, entity_type, entity_key, previous_status, new_status,
|
|
reviewer_name, review_note, created_at
|
|
)
|
|
SELECT review.review_id, review.entity_type, review.entity_key, NULL,
|
|
review.review_status, review.reviewer_name, review.review_note,
|
|
review.reviewed_at
|
|
FROM review_records review
|
|
LEFT JOIN review_audit_logs existing
|
|
ON existing.review_id=review.review_id
|
|
AND existing.reviewer_name=@reviewer
|
|
WHERE review.reviewer_name=@reviewer AND existing.review_log_id IS NULL;
|
|
|
|
UPDATE automated_review_runs run
|
|
SET run.run_status='completed',
|
|
run.reviewed_record_count=(
|
|
SELECT COUNT(*) FROM review_records review WHERE review.reviewer_name=@reviewer
|
|
),
|
|
run.approved_record_count=(
|
|
SELECT COUNT(*) FROM review_records review
|
|
WHERE review.reviewer_name=@reviewer AND review.review_status='approved'
|
|
),
|
|
run.needs_review_record_count=(
|
|
SELECT COUNT(*) FROM review_records review
|
|
WHERE review.reviewer_name=@reviewer AND review.review_status='needs_review'
|
|
),
|
|
run.issue_count=(
|
|
SELECT COUNT(*) FROM data_quality_issues issue
|
|
WHERE issue.resolution_status='open'
|
|
),
|
|
run.completed_at=NOW()
|
|
WHERE run.review_run_id=@effective_run_id;
|
|
|
|
COMMIT;
|
|
|
|
SELECT * FROM automated_review_runs WHERE review_run_id=@effective_run_id;
|
|
SELECT entity_type, review_status, COUNT(*) AS record_count
|
|
FROM review_records
|
|
GROUP BY entity_type, review_status
|
|
ORDER BY entity_type, review_status;
|
|
SELECT issue_code, severity, COUNT(*) AS issue_count
|
|
FROM data_quality_issues
|
|
WHERE resolution_status='open'
|
|
GROUP BY issue_code, severity
|
|
ORDER BY issue_count DESC, issue_code;
|
|
|