plsql 实现统计每年在校人数
要实现统计每年在校人数,可以使用PL/SQL编写一个存储过程。
首先,创建一个存储过程,命名为"count_students_by_year",接收一个年份作为参数,返回该年份的在校人数。
CREATE OR REPLACE PROCEDURE count_students_by_year(p_year NUMBER, p_count OUT NUMBER) IS
BEGIN
SELECT COUNT(*) INTO p_count
FROM students
WHERE EXTRACT(YEAR FROM admission_date) = p_year;
END;
/
然后,调用这个存储过程来统计每年的在校人数。
DECLARE
v_count NUMBER;
BEGIN
FOR year IN 2010..2020 LOOP
count_students_by_year(year, v_count);
DBMS_OUTPUT.PUT_LINE('Year ' || year || ': ' || v_count || ' students');
END LOOP;
END;
/
这个示例中,假设有一个名为"students"的表,其中包含了学生的入学日期(admission_date)字段。存储过程通过接收一个年份作为参数,并使用EXTRACT函数从入学日期中提取年份进行筛选,然后使用COUNT函数统计符合条件的学生数量。最后,通过OUT参数返回统计结果。
在调用存储过程时,使用一个FOR循环来遍历需要统计的年份范围。在每一次循环中,调用存储过程并输出统计结果。
请根据实际情况修改表名、字段名和年份范围
原文地址: http://www.cveoy.top/t/topic/hDQl 著作权归作者所有。请勿转载和采集!