gpt4 book ai didi

mysql - 查询 HAVING MAX() 未按预期工作

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

我的数据库中有四个表。表格如下:

Cashier(cashier_id*, cashier_name)
Category(category_id*, category_name)
Product(product_id*, product_name, price, category_id**)
Purchase(product_id**, cashier_id**, amount)

* primary key
** foreign key

我想选择购买次数最多的类别名称。这是我到目前为止所做的,但我无法得到我想要的结果

SELECT x.category,x.amount
FROM (SELECT category_name as category, SUM(amount) as amount FROM
Category c, Product pr, Purchase pu WHERE pr.product_id =
pu.product_id and c.category_id = pr.category_id GROUP BY
category_name) x
GROUP BY x.category
HAVING MAX(x.amount);

最佳答案

大概,您想要这样的东西:

SELECT c.category_name as category, SUM(amount) as amount
FROM Category c JOIN
Product pr
ON c.category_id = pr.category_id JOIN
Purchase pu
ON pr.product_id = pu.product_id
GROUP BY category_name
ORDER BY SUM(amount) DESC
LIMIT 1;

切勿FROM子句中使用逗号。 始终使用正确、明确、标准的JOIN语法。

关于mysql - 查询 HAVING MAX() 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795565/

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