OCP-1Z0-051 第119题 GROUP BY,HAVING子句的顺序

一、原题
Examine the data in the ORD_ITEMS table:
ORD_NO ITEM_NO QTY
  1    111 10
  1    222 20
  1    333 30
  2    333 30
  2    444 40
  3    111 40

Evaluate the following query:
SQL>SELECT item_no, AVG(qty)
            FROM ord_items
         HAVING AVG(qty) > MIN(qty) * 2
    GROUP BY item_no;
Which statement is true regarding the outcome of the above query?
A. It gives an error because the HAVING clause should be specified after the GROUP BY clause.
B. It gives an error because all the aggregate functions used in the HAVING clause must be specified in the SELECT list.
C. It displays the item nos with their average quantity where the average quantity is more than double the minimum quantity of that item in the table.
D. It displays the item nos with their average quantity where the average quantity is more than double the overall minimum quantity of all the items in the table.

答案:C

二、题目翻译
查看下面ORD_ITEMS表的数据:
评估下面的查询:
关于上面语句的结果哪句话是正确的?
A.报错,因为HAVING子句应该放在GROUP BY子句之后。
B.报错,因为所有在HAVING子句中使用的聚合函数必须被指定到SELECT列表中。
C.显示item_nos和他们的平均数量,平均数量要大于每组item中最小数量的两倍。
D.显示item_nos和他们的平均数量,平均数量要大于所有item最小值的两倍。

三、题目解析
A选项不正确,HAVING子句可以放到GROUP BY子句前面。
B选项不正确,HAVING子句中的聚合函数,不一定要放在SELECT的列表中,这个没有关系的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值