gpt4 book ai didi

mysql - 从mysql计算最畅销的产品

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

我试图通过 mysql 查询来获取最畅销的产品列表。问题是即使在我使用 count 之后它仍然会获取所有数据。

select 
mf.*,
od.*,
count(od.product_id) as product_count
from masterflight mf ,
order_details od
where od.product_id=mf.ProductCode
group by od.product_id
order by product_count

此处 masterflight 是存储产品详细信息及其 id 的表。 order_details 是存储每个单独销售的产品记录的表。我试图放入一个逻辑中,假设 ID 为 2 的产品售出 4 次,每次它都有一个单独的条目,那么我将使用 COUNT 和然后显示它似乎正在工作。

最佳答案

尝试一些更整洁的东西:

select
mf.ProductCode,
count(od.*) as product_count
from
order_details od
inner join masterflight mf on
od.product_id = mf.ProductCode
group by
mf.ProductCode
order by product_count desc

问题是你选择了所有的 od,但你没有按它分组,所以你只是得到所有的订单行,这对你没有真正的帮助根本。我应该指出,MySQL 是唯一允许这种行为的主要 RDBMS——它令人困惑且难以调试。我建议不要使用该特定功能。作为一般规则,如果您选择了一列但没有聚合(例如-sumavgmin 等.) 上,那么您需要在 group by 子句中使用它。

关于mysql - 从mysql计算最畅销的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794772/

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