mysql - 将 AVG(整数) 与类别的 AVG(整数) 进行比较

标签 mysql sql

我与三列有关系:ProductNameCategoryIDPrice。我需要选择仅那些价格高于给定类别中平均产品价格的产品。 (例如,当apple(ProductName)是fruit(CategoryID)时,应该选择它,因为它的价格更高高于平均水果价格)。我该怎么做?

我正在考虑类似的事情,但它显然是错误的,因为我将 PricePriceCategoryID 进行比较:

SELECT ProductName, AVG(Price) FROM `products` 
WHERE (SELECT AVG(Price)) > (SELECT CategoryID, AVG(Price))
GROUP BY ProductName; 

最佳答案

类似这样的事情

SELECT ProductName, Price, CategoryID FROM `products` p
WHERE Price > (SELECT AVG(Price) from `products` where  CategoryID = p.CategoryID)

关于mysql - 将 AVG(整数) 与类别的 AVG(整数) 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16984502/

相关文章:

MYSQL 选择指定后的第一行

mysql - 为什么我的第一列在输入时被跳过?

SQL Server 2008 SELECT 相似词

sql - 多个 SQL/NoSQL 数据库架构中的一致性/原子性(甚至 ACID)属性

mysql - 用于检索具有相同名称和最近创建的记录的 SQL 查询

sql - 如何在 Postgres 中的一个表中划分行

php - 使用 PHP 从表中的列中选择名称

mysql - 查询执行时间过长

php - 如何使用php在mysql中存储上标?

mysql - 无法确定此连接会给出错误的结果