mysql - 组函数与 AVG 函数的使用无效

标签 mysql sql sql-server database sqlite

我对 SQL 有点陌生,这是我学习它的第二天。我收到错误消息“ERROR 1111 HY000:组函数的使用无效”

AVG(cost) 的值为 450,所以不要这样做(有效)

SELECT name, seller_id, cost
FROM items
WHERE cost > 450;

我想要这个(不起作用)

SELECT name, seller_id, cost
FROM items
WHERE cost > AVG(cost);

那么为什么第二个不起作用?

抱歉,如果这看起来像是一个显而易见的问题,我对 SQL 还很陌生,所以我仍然不熟悉语法以及如何解释查询。

最佳答案

您可以在 WHERE 子句中使用子查询来计算整个表的平均成本:

SELECT name, seller_id, cost
FROM items
WHERE cost > (SELECT AVG(cost) FROM items)

关于mysql - 组函数与 AVG 函数的使用无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503094/

相关文章:

mysql - 在 MySQL 表中存储历史价目表的最佳方式是什么?

sql - Django 仅选择具有重复字段值的行

mysql - 在 SQL 中的一个字段中添加多个数据

sql-server - 如何从 SQL Server 存储的 SID 获取 Active Directory 组名称?

mysql - Google Cloud MySQL 基于行的复制数据类型错误

php - 如何使用 PATCH 更新一个简单的数据库字段?

mysql - 在 <TableName> 上创建外键时出错(检查数据类型)

如果另一个表中不存在值,则mysql插入

mysql - 如何添加列表或字典作为 SQL 表条目?

SQL Server 使用 ISNULL where 子句优化大型查询