我如何编写一个程序,显示20岁或以下学生的平均水平。在Oracle SQL Developer中使用(for循环)
基本上,我需要在OracleSQLDeveloper中使用for循环来显示20岁或以下学生的平均值。下面是学生桌 试试这个我如何编写一个程序,显示20岁或以下学生的平均水平。在Oracle SQL Developer中使用(for循环),sql,oracle,for-loop,oracle-sqldeveloper,Sql,Oracle,For Loop,Oracle Sqldeveloper,基本上,我需要在OracleSQLDeveloper中使用for循环来显示20岁或以下学生的平均值。下面是学生桌 试试这个 SELECT AVG("AVG") FROM students WHERE age<=20 我想这是一个简单情况下的有趣要求。不管怎样,看看这样的东西是否有用 SQL> set serveroutput on SQL> SQL> declare 2 l_avg number; 3 l_sum number :
SELECT AVG("AVG") FROM students WHERE age<=20
我想这是一个简单情况下的有趣要求。不管怎样,看看这样的东西是否有用
SQL> set serveroutput on
SQL>
SQL> declare
2 l_avg number;
3 l_sum number := 0;
4 l_cnt number := 0;
5 begin
6 for cur_r in (select avg from test where age <= 20) loop
7 l_cnt := l_cnt + 1;
8 l_sum := l_sum + cur_r.avg;
9 end loop;
10
11 if l_cnt > 0 then
12 l_avg := l_sum / l_cnt;
13 end if;
14
15 dbms_output.put_line('Average is ' || nvl(to_char(l_avg), 'unknown'));
16 end;
17 /
Average is 68
PL/SQL procedure successfully completed.
SQL>
祝你好运当你遇到麻烦时一定要问个问题谢谢!我真的被这个问题困住了我想HoneyBadger的意思是说你应该发布你写的代码,但它不能像你希望的那样工作。你不需要一个FOR循环来做到这一点。我确实需要在这个问题上使用FOR循环。它不起作用,我需要使用FOR循环哦,这是你的要求使用FOR循环。。。让我想想。试着用AVG而不是[AVG]是的,这是使用它的必要条件