ORACLE SQL 查询 - AVG

ORACLE SQL Query - AVG

所以我有以下 Oracle SQL 数据库 table:

create table Customer
(customerID char(25) not null, 
name char(50), 
address char(100), 
dateRegistered DATE, 
noOfDvdHiring int, 
primary key (customerID));

我有以下查询:列出所有租用 DVD 数量超过所有客户当前租用 DVD 平均数量的唯一编号和名称。

我确定这应该涉及嵌套查询,但我不确定从哪里开始?

我试过:

SELECT customerID, name
FROM Customer
WHERE noOfDvdHire > AVG(noOfDvdHire);

但收到此错误消息:ORA-00934:此处不允许组函数

试试这个

SELECT customerID, name
FROM Customer
WHERE noOfDvdHiring > (select AVG(noOfDvdHiring) from customer);

2 种方式...区别在于执行计划

select * from (
  select customer_id, noOfDvdHire, avg(noOfDvdHire) over () avgg from Customer
) where noOfDvdHire > avgg

select customer_id, noOfDvdHire from Customer
  where noOfDvdHire >  (select AVG(noOfDvdHire) from customer);