Initial commit of akmon project
This commit is contained in:
60
check_current_data.sql
Normal file
60
check_current_data.sql
Normal file
@@ -0,0 +1,60 @@
|
||||
-- 查询当前数据库中的班级结构
|
||||
-- 检查已有的学校、年级、班级数据
|
||||
|
||||
-- 1. 查看现有的学校数据
|
||||
SELECT id, name, type FROM public.ak_schools ORDER BY name;
|
||||
|
||||
-- 2. 查看现有的年级数据
|
||||
SELECT
|
||||
g.id,
|
||||
g.name as grade_name,
|
||||
s.name as school_name
|
||||
FROM public.ak_grades g
|
||||
LEFT JOIN public.ak_schools s ON g.school_id = s.id
|
||||
ORDER BY s.name, g.name;
|
||||
|
||||
-- 3. 查看现有的班级数据
|
||||
SELECT
|
||||
c.id as class_id,
|
||||
c.name as class_name,
|
||||
g.name as grade_name,
|
||||
s.name as school_name,
|
||||
COUNT(u.id) as student_count
|
||||
FROM public.ak_classes c
|
||||
LEFT JOIN public.ak_grades g ON c.grade_id = g.id
|
||||
LEFT JOIN public.ak_schools s ON g.school_id = s.id
|
||||
LEFT JOIN public.ak_users u ON u.class_id = c.id AND u.role = 'student'
|
||||
GROUP BY c.id, c.name, g.name, s.name
|
||||
ORDER BY s.name, g.name, c.name;
|
||||
|
||||
-- 4. 查看学生的班级分布情况
|
||||
SELECT
|
||||
COALESCE(c.name, '未分配班级') as class_name,
|
||||
COUNT(u.id) as student_count,
|
||||
array_agg(u.username) as students
|
||||
FROM public.ak_users u
|
||||
LEFT JOIN public.ak_classes c ON u.class_id = c.id
|
||||
WHERE u.role = 'student'
|
||||
GROUP BY c.name
|
||||
ORDER BY student_count DESC;
|
||||
|
||||
-- 5. 查看教师-班级关系(如果表存在)
|
||||
SELECT
|
||||
u.username as teacher_name,
|
||||
c.name as class_name,
|
||||
g.name as grade_name,
|
||||
s.name as school_name
|
||||
FROM public.ak_teacher_roles tr
|
||||
JOIN public.ak_users u ON tr.user_id = u.id
|
||||
JOIN public.ak_classes c ON tr.class_id = c.id
|
||||
LEFT JOIN public.ak_grades g ON c.grade_id = g.id
|
||||
LEFT JOIN public.ak_schools s ON g.school_id = s.id
|
||||
ORDER BY u.username, c.name;
|
||||
|
||||
-- 6. 检查是否有学生未分配班级
|
||||
SELECT
|
||||
COUNT(*) as total_students,
|
||||
COUNT(CASE WHEN class_id IS NOT NULL THEN 1 END) as assigned_students,
|
||||
COUNT(CASE WHEN class_id IS NULL THEN 1 END) as unassigned_students
|
||||
FROM public.ak_users
|
||||
WHERE role = 'student';
|
||||
Reference in New Issue
Block a user