Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何编写一个程序,显示20岁或以下学生的平均水平。在Oracle SQL Developer中使用(for循环)_Sql_Oracle_For Loop_Oracle Sqldeveloper - Fatal编程技术网

我如何编写一个程序,显示20岁或以下学生的平均水平。在Oracle SQL Developer中使用(for循环)

我如何编写一个程序,显示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 :

基本上,我需要在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 := 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]是的,这是使用它的必要条件