簡體   English   中英

SQL SELECT產品WHERE'每個產品的平均價格'<值

[英]SQL SELECT products WHERE 'average price per product' < value

我只想返回平均價格<7的prod_id。查看下面的示例,查詢應該只返回prod_id 1(平均價格= 5)

+---------+-------+
| prod_id | price | 
+---------+-------+
| 1       | 3     |
| 1       | 4     |
| 1       | 8     |
| 2       | 12    |
| 2       | 14    |
+---------+-------| 

所以期望的結果應該是:

+---------+-------+
| prod_id | avg_pr| 
+---------+-------+
| 1       | 5     |
+---------+-------| 

我試過這個:

SELECT prod_id, AVG(price) 
FROM products
WHERE AVG(price) < 7
GROUP BY prod_id

它給了我這個錯誤:#1111 - 無效使用組功能

如果你使用你的查詢,你會得到一個錯誤說'錯誤代碼:1111。無效使用組功能',請嘗試此查詢

select id, avg(price) AS average from a group by id having avg(price)<7;

你不能在where子句中使用聚合函數,你需要使用HAVING

SELECT prod_id, AVG(price) 
  FROM products
  GROUP BY prod_id
  HAVING AVG(price) <7;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM