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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值