gpt4 book ai didi

mysql - BETWEEN 和 AND 中的聚合函数

转载 作者:行者123 更新时间:2023-11-29 08:17:02 25 4
gpt4 key购买 nike

我在查询中加入了 3 个表。在我的库存数据库中,价格取自表 c,数量取自表 b。如何显示在给定值和列的最大值之间进行排序的用户的记录列表。我在 mysql 中使用以下查询来检索记录。正如预期的那样,它显示错误。任何帮助将不胜感激

SELECT .... GROUP BY userid HAVING  SUM(c.`price` * b.`quantity`) BETWEEN 9000 AND MAX(SUM(c.`price` * b.`quantity`))

最佳答案

如果我理解正确的话,你不需要BETWEEN。试试这个方法

SELECT .... 
GROUP BY userid
HAVING SUM(c.`price` * b.`quantity`) >= 9000

如果您想知道无法链接聚合函数。即使你可以,它也没有意义,因为你按用户 ID 分组,但试图从所有用户中获取 SUM 的最大值。为了使其工作,您应该使用子查询来获取最大值,例如

SELECT .... 
GROUP BY userid
HAVING SUM(c.`price` * b.`quantity`) =
(
SELECT MAX(total) total
FROM
(
SELECT SUM(c.`price` * b.`quantity`) total
GROUP BY userid
) q
)

关于mysql - BETWEEN 和 AND 中的聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20395343/

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