You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:如何获取Quantity_by_Category字段的最大值?

获取Quantity_by_Category字段最大值的方法

针对你的需求,这里提供两种常见的实现方案,适配不同的场景:

方案1:仅获取最大值的数值

将现有分组求和的查询作为子查询,在外层使用MAX()聚合函数直接提取最大值:

SELECT MAX(Quantity_by_Category) AS Max_Quantity_by_Category
FROM (
    SELECT SUM(pd.Quantity) AS Quantity_by_Category 
    FROM Purchase_Details pd 
    INNER JOIN Products p
    ON pd.ProductID = p.ProductID
    GROUP BY pd.ProductID
) AS Category_Sums;

方案2:获取最大值对应的产品信息

如果需要同时知道哪个产品/分类的求和值最大(支持并列最大值),可以使用窗口函数RANK():

SELECT ProductID, ProductCategory, Quantity_by_Category
FROM (
    SELECT p.ProductID, p.ProductCategory, SUM(pd.Quantity) AS Quantity_by_Category,
           RANK() OVER (ORDER BY SUM(pd.Quantity) DESC) AS rank_num
    FROM Purchase_Details pd 
    INNER JOIN Products p
    ON pd.ProductID = p.ProductID
    GROUP BY p.ProductID, p.ProductCategory -- 修正原GROUP BY,确保与SELECT字段匹配
) AS Ranked_Results
WHERE rank_num = 1;
  • 若使用ROW_NUMBER()替代RANK(),当存在并列最大值时只会返回其中一条记录,适合只需要单一结果的场景。
  • 原SQL的GROUP BY仅指定pd.ProductID,在多数严格SQL模式下会报错(因为SELECT包含p.ProductCategory),因此修正为同时分组p.ProductID和p.ProductCategory(通常ProductID与ProductCategory是一一对应关系,不会影响分组结果)。

内容的提问来源于stack exchange,提问作者user19629867

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 06:06:06