首页 > 解决方案 > 在 MySQL 中出现错误作为错误代码:1054。“有子句”中的未知列“价格”

问题描述

我创建了一个表,如下所示:

create table products 
(productID int not null auto_increment,
 Name varchar(30),
 Price float ,
 CoffeOrigin varchar(30),
 primary key (productID));

现在的问题是“显示价格低于平均价格的产品的名称”。

我的第一次尝试:

select Name from products having Price <= avg(Price);

它给了我错误代码:1054。“有条款”中的“价格”列未知

我的第二次尝试:

select * from products having Price <= avg(Price);

它给了我不完整的输出。这里平均价格为 3.14,但结果中仅显示价格低于 3 的产品。

标签: mysqlsqlsubqueryaveragewindow-functions

解决方案


尝试

Select NAME from products
Group by Products, Price
Having price <= AVG(Price) 

列必须包含在 group by 中才能正确选择


推荐阅读