gpt4 book ai didi

mysql - 以计算值为条件的 SQL

转载 作者:可可西里 更新时间:2023-11-01 08:22:00 27 4
gpt4 key购买 nike

我有一张包含产品、数量和价格的表格。我需要选择每篇文章的平均价格在一个范围内的所有条目。到目前为止我的查询:

SELECT productid,AVG(SUM(price)/SUM(amount)) AS avg 
FROM stock WHERE avg>=$from AND avg<=$to GROUP BY productid

如果这样做,它会告诉我 avg 不存在。此外,我显然需要分组,因为总和和平均值需要是每种酒

最佳答案

您需要将其放在HAVING 子句中。您不能使用 WHERE 按聚合结果进行过滤。

MySQL 允许您在 HAVING 中引用列别名。你可能需要

SELECT 
productid,
AVG(price/amount) AS avg ,
/*SUM(price)/SUM(amount) AS avg (<--- Or perhaps this?)*/
FROM stock
GROUP BY productid
HAVING avg>=$from AND avg<=$to

但我不确定你到底想用 AVG(SUM(price)/SUM(amount)) 做什么,你能展示一些示例数据吗?

关于mysql - 以计算值为条件的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com