zoukankan      html  css  js  c++  java
  • OCP-1Z0-051-V9.02-110题

    110. View the Exhibit and examine the structure of the CUSTOMERS table.

    Using the CUSTOMERS table, you need to generate a report that shows   the average credit limit for

    customers in WASHINGTON and NEW YORK.

    Which SQL statement would produce   the required result? 

    A. SELECT cust_city, AVG(cust_credit_limit)

    FROM customers

    WHERE cust_city IN ('WASHINGTON','NEW YORK')

    GROUP BY cust_credit_limit, cust_city;

    B. SELECT cust_city, AVG(cust_credit_limit)

    FROM customers

    WHERE cust_city IN ('WASHINGTON','NEW YORK')

    GROUP BY cust_city,cust_credit_limit;

    C. SELECT cust_city, AVG(cust_credit_limit)

    FROM customers

    WHERE cust_city IN ('WASHINGTON','NEW YORK')

    GROUP BY cust_city; 按照城市来取平均值

    D. SELECT cust_city, AVG(NVL(cust_credit_limit,0))

    FROM customers

    WHERE cust_city IN ('WASHINGTON','NEW YORK');

    Answer: C

    答案解析:

    A答案:此处是按照cust_credit_limit, cust_city;这两个一起分组的。此处换另外两个城市来测试。

    sh@TEST0924> SELECT cust_city,AVG(cust_credit_limit) FROM customers WHERE cust_city IN ('Duncan','Norman')
      2  GROUP BY cust_credit_limit, cust_city;
     
    CUST_CITY                      AVG(CUST_CREDIT_LIMIT)
    ------------------------------ ----------------------
    Norman                                           1500
    Duncan                                           9000
    Duncan                                          11000
    Norman                                           3000
    Norman                                           5000
    Duncan                                           3000
    Norman                                          11000
    Duncan                                           5000
    Norman                                          10000
    Duncan                                           1500
    Duncan                                           7000
    Norman                                           9000
    Duncan                                          10000
    Duncan                                          15000
    Norman                                           7000
    Norman                                          15000
     
    16 rows selected.
     
    B答案,与A答案一样,按照cust_credit_limit, cust_city;这两个一起分组的。
     
    C答案,按照cust_city来分组,与题意复合
    h@TEST0924> SELECT cust_city,AVG(cust_credit_limit) FROM customers WHERE cust_city IN ('Duncan','Norman')
      2  GROUP BY cust_city;
     
    CUST_CITY                      AVG(CUST_CREDIT_LIMIT)
    ------------------------------ ----------------------
    Duncan                                           6550
    Norman                                     6634.92063
     
    D答案:缺少group by
    sh@TEST0924> SELECT cust_city, AVG(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman');
    SELECT cust_city, AVG(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman')
           *
    ERROR at line 1:
    ORA-00937: not a single-group group function
     
     
    sh@TEST0924> SELECT cust_city, AVG(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman')
      2  GROUP BY cust_city;
     
    CUST_CITY                      AVG(NVL(CUST_CREDIT_LIMIT,0))
    ------------------------------ -----------------------------
    Duncan                                                  6550
    Norman                                            6634.92063
  • 相关阅读:
    RabbitMQ安装(发生系统错误5。拒绝访问。发生系统错误1067。进程意外终止。)
    SQLServer执行脚本提示“系统找不到指定的文件”或“内存资源不足”
    TypeScript@HelloWorld!
    超详细Node安装教程
    进制转换
    菜鸟成长记
    ASP.NET Core中使用MialKit实现邮件发送
    VS未能正确加载 ”Microsoft.VisualStudio.Editor.Implementation.EditorPackate“包错误解决方法
    C#Winfrom Listview数据导入Excel
    安装研发服务器
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317180.html
Copyright © 2011-2022 走看看