要实现统计每年在校人数并将结果插入一张表中,可以使用 PL/SQL 编写以下程序:

-- 创建用于存储结果的表
CREATE TABLE 在校人数统计 (
    年份 NUMBER,
    在校人数 NUMBER
);

-- 清空表中的数据
TRUNCATE TABLE 在校人数统计;

-- 统计2018年在校人数
INSERT INTO 在校人数统计 (年份, 在校人数)
SELECT 2018 AS 年份, COUNT(*) AS 在校人数
FROM 学生表
WHERE 入学年份 = 2018;

-- 统计2019年在校人数
INSERT INTO 在校人数统计 (年份, 在校人数)
SELECT 2019 AS 年份, COUNT(*) AS 在校人数
FROM 学生表
WHERE 入学年份 = 2019;

-- 统计2020年在校人数
INSERT INTO 在校人数统计 (年份, 在校人数)
SELECT 2020 AS 年份, COUNT(*) AS 在校人数
FROM 学生表
WHERE 入学年份 = 2020;

-- 统计学制为3年的在校人数
UPDATE 在校人数统计
SET 在校人数 = 在校人数 + (
    SELECT COUNT(*) AS 在校人数
    FROM 学生表
    WHERE 学制 = 3
);

-- 统计学制为4年的在校人数
UPDATE 在校人数统计
SET 在校人数 = 在校人数 + (
    SELECT COUNT(*) AS 在校人数
    FROM 学生表
    WHERE 学制 = 4
);

-- 显示结果
SELECT * FROM 在校人数统计;

请注意,上述代码中的 '学生表' 为示例表名,实际应根据具体情况替换为实际的学生表名。另外,还需要根据实际需求调整查询条件和统计逻辑。


原文地址: https://www.cveoy.top/t/topic/o6BQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录