Sql 如何选择单价高于平均单价的所有产品名称?

Sql 如何选择单价高于平均单价的所有产品名称?,sql,Sql,我想编写一个SQL语句,从单价高于平均单价的数据库中选择所有产品名称。我需要写一个子查询 我试过这种方法,我不断得到一个错误“从关键字未找到预期的地方” 然后我添加了括号,我不断得到另一个错误,“缺少右括号”: 在几乎所有的数据库中,最好的方法是使用窗口函数 SELECT PRODUCTID, Productname, unitprice FROM (SELECT p.*, AVG(unitprice) OVER () as avg_up FROM Products p )

我想编写一个SQL语句,从单价高于平均单价的数据库中选择所有产品名称。我需要写一个子查询

我试过这种方法,我不断得到一个错误“从关键字未找到预期的地方”

然后我添加了括号,我不断得到另一个错误,“缺少右括号”:


在几乎所有的数据库中,最好的方法是使用窗口函数

SELECT PRODUCTID, Productname, unitprice
FROM (SELECT p.*, AVG(unitprice) OVER () as avg_up
      FROM Products p
     ) p
WHERE unitprice > avg_up;

在几乎所有的数据库中,最好的方法是使用窗口函数

SELECT PRODUCTID, Productname, unitprice
FROM (SELECT p.*, AVG(unitprice) OVER () as avg_up
      FROM Products p
     ) p
WHERE unitprice > avg_up;
SELECT PRODUCTID, Productname, unitprice
FROM Products 
WHERE unitprice > (SELECT AVG(unitprice) FROM Products)
SELECT PRODUCTID, Productname, unitprice
FROM (SELECT p.*, AVG(unitprice) OVER () as avg_up
      FROM Products p
     ) p
WHERE unitprice > avg_up;